OK6410A 开发板 (八) 22 linux-5.11 OK6410A start_kernel 功能角度 第一阶段

发布者:Blissful444最新更新时间:2022-09-15 来源: csdn关键字:OK6410A  开发板  11  第一阶段 手机看文章 扫描二维码
随时随地手机看文章

CPU0

从 u-boot 的 theKernel 到 linux的 start_kernel中的 stext -> start_kernel


cpu 寄存器的初始化

sp寄存器

cpsr

Supervisor Mode

irq disabled

fiq disabled

little endian


cp15 寄存器 的初始化

cache

dcache

icache

write buffer

mmu

page table

domain access


CPU1 …

cpu 寄存器的初始化

sp寄存器 // 值来自于 cpu0的设定值 secondary_data.stack

cpsr

Supervisor Mode

irq disabled

fiq disabled

little endian


cp15 寄存器 的初始化

cache

dcache

icache

write buffer

mmu

page table // 值来自于 cpu0的设置值 secondary_data.pgdir

domain access // 值来自于 cpu0的设置值 secondary_data.pgdir


流程

    cpu0:smp_init

        idle_threads_init

            for_each_possible_cpu idle_init

                fork_idle

                    copy_process

        bringup_nonboot_cpus

            cpu_up

                _cpu_up

               

                // cpu1跑起来的时候会设置自己cpu1,参数就是下面的值

                secondary_data.stack = task_stack_page(idle) + THREAD_START_SP;

                secondary_data.pgdir = virt_to_phys(idmap_pgd);

                secondary_data.swapper_pg_dir = get_arch_pgd(swapper_pg_dir);

               

                    smp_ops.smp_boot_secondary(cpu, idle); / 即 psci_boot_secondary

                        psci_ops.cpu_on // 对应 0.1 版本的 psci为 psci_0_1_cpu_on

                            psci_0_1_cpu_on

                                __psci_cpu_on

                                    invoke_psci_fn // 调用什么 取决于 set_conduit 的设定值

                                        __invoke_psci_fn_smc

                                            arm_smccc_smc

                                                __arm_smccc_smc

                                                    SMCCC SMCCC_SMC

                                                        __SMC

                                                            0xE1600070 | (((imm4) & 0xF) << 0),

                                                            0xF7F08000 | (((imm4) & 0xF) << 16)


    cpu1:secondary_startup

   

    // 设置为 svc mode

    // irq off

    // fiq off

    safe_svcmode_maskall r9

// 将 __secondary_switched 放到 r13

mov_l   r12, __secondary_switched

mov r13, r12


// 跳转到 arch/arm/mm/proc-v6.S 中的 __v6_setup ,并返回

    ldr r12, [r10, #PROCINFO_INITFUNC]

    add r12, r12, r10

    ret r12

   

    // 跳转到 __enable_mmu

    __enable_mmu

   

    // 用 secondary_data.pgdir 设置 page table pointer

    mcr p15, 0, r4, c2, c0, 0       @ load page table pointer

    b   __turn_mmu_on

__turn_mmu_on

// 跳转到 __secondary_switched

mov r3, r13

ret r3


        __secondary_switched

        // 用  secondary_data.stack 的值 设置 sp

        ldr_l   r7, secondary_data + 12 

        mov sp, r7

        // 跳转到 secondary_start_kernel

            b secondary_start_kernel


关键字:OK6410A  开发板  11  第一阶段 引用地址:OK6410A 开发板 (八) 22 linux-5.11 OK6410A start_kernel 功能角度 第一阶段

上一篇:OK6410A 开发板 (八) 23 linux-5.11 OK6410A start_kernel 功能角度 第二阶段
下一篇:OK6410A 开发板 (八) 21 linux-5.11 OK6410A schedule 的 __switch_to 部分

推荐阅读最新更新时间:2024-11-07 14:24

OK6410A 开发板 (八) 68 linux-5.11 OK6410A linux 内核同步机制 atomic 的实现
解决的问题是什么 所有竞态原因 实现 32bit // 下面为 atomic_add 的定义 arch/arm/include/asm/atomic.h 36 #define ATOMIC_OP(op, c_op, asm_op) 37 static inline void atomic_##op(int i, atomic_t *v) 38 { 39 unsigned long tmp; 40
[单片机]
将PIC16C711片内8位A/D提高到11位的方法
目前,单片机中嵌入的A/D一般为8位到10位,难以满足信号处理应用中高分辨率的要求;而外接高分辨率的A/D将使成本明显提高,因为A/D转换器的价格将随其位数的增加而成倍增加。本文介绍一种提高PIC16C711单片机片内A/D分辨率的方法,将PIC16C711片内的8位A/D提高到11位。这种方法在PIC系列的其他单片机也适用。   美国Microchip公司推出的8位单片机PIC16C711是一种性能价格比很高的单片机。它价格低、封装小、采用CMOS工艺,具有OTP型,开发起来很方便。它内含4路8位高速A/D,将它扩展到11位后,可以大大提高单片机应用系统的性能价格比。 一、硬件电路   实现扩展的原理图如图1所示。8个
[单片机]
中美达成“实质性的第一阶段”协议,美下周暂停增加关税
昨日,中美两国在华盛顿达成“实质性的第一阶段”协议,美方将在下周暂停增加关税。 根据白宫透露的消息,双方达成的“第一阶段”协议内容包括,中国将额外购买400亿到500亿美元的美国农产品;汇率被纳入协议,即承诺不会为了获得贸易优势而操控汇率;技术转让问题部分解决,并在第二和第三阶段继续解决;中方承诺加强对知识产权保护。 美方决定,暂停原定于10月15日开始实施的对华2500亿美元商品加税从25%升至30%的举措。华为没有包含在此次协议中。 刘鹤指出,双方在此轮磋商中就共同关心的经贸问题进行了坦诚、高效、建设性的讨论,在农业、知识产权保护、汇率、金融服务、扩大贸易合作、技术转让、争端解决等领域取得实质性进展,讨论了后
[嵌入式]
中美达成“实质性的<font color='red'>第一阶段</font>”协议,美下周暂停增加关税
高通第二财季财报:净利润同比增11%
    新浪科技讯 北京时间4月21日凌晨消息,高通今天发布了2016财年第二财季财报。报告显示,高通第二财季净利润为11.6亿美元,比去年同期的10.5亿美元增长11%;营收为55.5亿美元,比去年同期下滑19.5%。高通第二财季调整后每股收益超出华尔街分析师预期,但第二财季营收和对第三财季业绩的展望则均未能达到预期,推动其盘后股价下跌逾3%。   在截至3月27日的这一财季,高通的净利润为11.6亿美元,每股收益为78美分,这一业绩好于去年同期。2015财年第二财季,高通的净利润为10.5亿美元,每股收益为63美分。不计入某些一次性项目(不按照美国通用会计准则),高通第二财季调整后每股收益为1.04美元,超出分析师预期。汤森
[手机便携]
IEEE 802.11a数字基带处理器的并行流水结构设计
作者Email: zhaopk00@mails.tsinghua.edu.cn 摘 要 本文针对IEEE 802.11a数字基带处理过程,提出了一种并行流水结构。发射过程和接收过程分别采用三级流水并行处理,以此为基础完成了整个数字基带处理器的设计和实现。所提出的并行流水结构显著提高了系统的数据吞吐能力,降低了资源占用量。硬件设计已经通过系统仿真,每级流水阶段的并行运算效率都达到了100%,单元运算的流水效率达到85%以上。 关键词 并行流水结构; IEEE 802.11a; 数字基带处理器. 1. 引言 无线局域网标准IEEE 802.11a 采用了OFDM调制方式,具有较好的抗窄带干扰和抗多径能力,最高数据
[应用]
泰克RSA6114A实时频谱分析仪助力著名X射线自由电子激光研制工作
迅速分析各个微波脉冲,加速X射线激光研发 俄勒冈州毕佛顿, 2007年9月18日讯 – 全球领先的测试测量和监测仪器供应商泰克公司(NYSE: TEK)日前宣布,泰克RSA6114A实时频谱分析仪已被日本的X射线自由电子激光(XFEL)项目采用。XFEL是受日本政府认可的国家级关键技术,由日本同步辐射研究院(JASRI)和RIKEN共同开发。这些研究机构已经为XFEL建立了SPring-8联合项目。通过支持速调管真空管放大器的稳定运行,泰克RSA6114A实时频谱分析仪将促进SPring-8 X射线激光的研制工作。 目前联合项目正在研制一种强大的X射线激光用以考察材料的详细结构和瞬态行为。为开发X射线激光技术,联合项目建立了
[焦点新闻]
2011-2012年我国集成电路产业格局分析
在充分借鉴国外产业发展规律的基础上,我国集成电路产业走出了一条设计、制造、封装测试三业并举,各自相对独立发展的格局。到目前,我国集成电路产业已经形成了IC设计、芯片制造、封装测试三业并举及支撑配套业共同发展的较为完善的产业链格局。 2011年1-12月,我国半导体分立器件的产量达3639.5亿只,同比增长7.59%。相较于之前有所增长,我国现在可以说是集成电路大国,虽然在技术水平和国外大厂还有差距,但是我国集成电路整个产业规模,供应链完成度已经初具规模,整个产业格局也趋于完善。 IC设计业方面,目前以各种形态存在的设计公司、设计中心、设计室以及具备设计能力的科研院所等IC设计单位已有近上千家。产品设计的门类已经涉及
[半导体设计/制造]
总投资11000万元 湖北星升全钒液流电池电解液生产项目环境影响评价第一次公示
  根据《中华人民共和国环境影响评价法》和《环境影响评价公众参与办法》(生态环境部令 第4号),现将“湖北星升新能源有限公司新能源全钒液流电池电解液生产项目环境影响评价第一次公示”环境影响评价有关情况予以公示如下:   一、建设项目概况   项目名称:湖北星升新能源有限公司新能源全钒液流电池电解液生产项目   项目性质:新建   建设地址:黄冈市黄州火车站经济开发区迎宾东路170号   项目总投资:11000万元人民币   近年来,随着全球能源结构的转型和可再生能源的快速发展,新型储能技术需求持续提升。在此背景下,全钒液流电池凭借其安全、长寿、低衰减等特性,成为了市场的热门选择。
[新能源]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved