社区首页
博客
论坛
下载
文库
评测
芯语
研讨会
商城
EE直播间
芯视频
E聘
更多
社区
论坛
博客
下载
评测中心
面包芯语
问答
E币商城
社区活动
资讯
电子工程专辑
国际电子商情
电子技术设计
CEO专栏
eeTV
EE|Times全球联播
资源
EE直播间
在线研讨会
视频
白皮书
小测验
供应商资源
ASPENCORE Studio
活动
IIC Shanghai 2023
2023(第四届)国际 AIoT 生态发展大会
全球 MCU 生态发展大会
第四届临港半导体产业高峰论坛暨司南科技奖颁奖盛典
IIC Shenzhen 2023
第四届中国国际汽车电子高峰论坛
更多活动预告
杂志与服务
免费订阅杂志
电子工程专辑电子杂志
电子技术设计电子杂志
国际电子商情电子杂志
登录|注册
芯语
帖子
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
首页
热门
专栏作家
电子产业热词
CEO专栏
技术文库
科技头条
专栏入驻
×
提示!
您尚未开通专栏,立即申请专栏入驻
芯语
帖子
博文
用户
芯语
登录
首页
专栏作家
CEO专栏
论坛
博客
E币商城
资讯
电子工程专辑
国际电子商情
电子技术设计
启动代码
RISCVLinuxkernel启动代码分析之十二:riscv中断架构介绍(2)
一. PLIC中断控制器 参考规格书https://github.com/riscv/riscv-plic-spec.git 最开始这部分内容是放在The RISC-V Instruction Set Manual Volume II: Privileged Architecture中的,后来把它单独拿出来了。可见官方的设计思路是不把plic(platform-level inte
嵌入式Lee
2024-12-08
371浏览
RISCVLinuxkernel启动代码分析之十二:riscv中断架构介绍(1)
一. 前言前面设备树相关文章提到了重点要关注中断相关的内容,中断是最核心的部分,在调试其他外设驱动之前,先要调试好中断系统。中断系统一般架构如下:CPU内核级中断/异常向量->中断控制器->各个设备中断。其中CPU内核级别中断/异常向量是RISCV标准定义好的,定义了有哪些中断和异常源,对应一个中断向量表。stvec和mtvec的低2位为0指定异常入口都走stvec/mtvec指定的地址(地址低两
嵌入式Lee
2024-12-07
482浏览
RISCVLinuxkernel启动代码分析之十一:设备树介绍(2)
中断和中断映射这是非常重要的部分中断逻辑上构成一个树形结构比如有中断产生的源头(设备产生中断)interrupt specifier 描述中断号,中断电平interrupt domain 中断产生设备interrupt-controller 中断控制器Interrupt Nexus 中断连接器,将子中断连接到父中断中去,一般用于PCI。中断树结构示意中断发生设备的属性interrupt
嵌入式Lee
2024-12-06
120浏览
RISCVLinuxkernel启动代码分析之十:设备树介绍(1)
一. 前言在opensbi和linux kernel中我们看到都会涉及设备树的解析,本文就来分享下设备的一些基本知识。设备树规格书下载https://github.com/devicetree-org/devicetree-specificationDTSpec指定了一个称为设备树的构造来描述系统硬件。引导程序将设备树加载到客户端程序的内存中,并将指向设备树的指针传递给客户端。Opensbi中就是
嵌入式Lee
2024-12-05
190浏览
RISCVLinuxkernel启动代码分析之九:initramfs实践
一. 前言 内核启动后需要挂载根文件系统,找到并执行init程序。在调试适配阶段,我们甚至还没有实现各种存储设备的驱动,此时也没法从对应的存储设备挂载文件系统找到init执行。此时我们可以使用initramfs,直接将简单的根文件系统打包压缩嵌入到内核中,启动时解压解包文件到rootfs中,此时就可以找到对应的init执行,后续再加载存储设备驱动,挂载实际的根文件系统,并切换过去。 整个过程涉及如
嵌入式Lee
2024-11-24
223浏览
RISCVLinuxkernel启动代码分析之八:tick定时器相关流程
一. 前言Linux中RTOS需要一个tick心跳进行调度处理,linux中的tick处理函数是scheduler_tick。本文从整体流程上来分析下执行到scheduler_tick的流程,以及过程中定时器中断相关的回调是如何注册的,以stime即中断号为5为例。先上流程图方便对照二. 设置异常入口handle_exceptionarch/riscv/kernel/head.S中.align 2
嵌入式Lee
2024-11-21
149浏览
RISCVLinuxkernel启动代码分析之七:早期使用opensbi的串口打印
一. 前言适配内核到新的平台,基本环境搭建好之后,首要的就是要调通调试串口,方便后面的信息打印。正常流程init/main.c中start_kernel入口,要到console_init之后才能真正打印,前面的打印都是缓存在printk的ringbuffer中的。如果在console_init前就异常了,此时就看不到打印信息,为了调试console_init前的状态,需要能更早的打印。内核提供了一
嵌入式Lee
2024-11-20
227浏览
RISCVLinuxkernel启动代码分析之六:setup_vm_final分析
一.前言前面我们分析了setup_vm以及relocate,并详细手算了对应的页表了解了此时页表映射了哪些虚拟地址到哪个物理地址。现在继续来看setup_vm_final该函数实现最终的映射。二. 分析过程该函数调用路径如下head.S的relocate之后tail start_kernel->start_kernel(init/main.c)->setup_arch(arch/riscv/ker
嵌入式Lee
2024-11-19
220浏览
RISCVLinuxkernel启动代码分析之五:一个小技巧实现在MMU使能后继续使用GDB调试
一. 前言我们在前面分析head.S时借助了GDB进行仿真分析。在使能MMU前,链接地址和运行地址虽然不一样,但是此时没有使能MMU可以直接访问物理地址,我们此时可以使用GDB进行单步等各种调试,链接地址和运行有一个固定偏差所以也可以直接对照反汇编代码。应对此时的链接地址和运行地址不一致导致的无法使用vmlinux的符号,无法在GDB中同时对应源码和汇编,我们可以使用add-symbol-file
嵌入式Lee
2024-11-17
215浏览
RISCVLinuxkernel启动代码分析之四:setup_vm之后的页表
一. 前言前文分析了setup_vm函数,主要是几个配置页表的函数的实现。这一篇就进一步来看看setup_vm完之后,配置的页表到底将那些虚拟地址映射到了哪里。我们通过手算和GDB查看对照的方式来加深印象。二. 分析过程在如下位置打断点运行到该处,即setup_vm执行完后,relocate执行前。hb *0x80201000c然后打印出各个页表的内容,和手动计算对比。从源码可以看出构建了两个根页
嵌入式Lee
2024-11-16
261浏览
RISCVlinuxkernel启动代码分析之三:setup_vm分析
一. 前言前面我们介绍了riscv的mmu以及kernel汇编代码中的relocate处理。这一篇继续来分享启动代码中最重要的一环setup_vm。该函数为relocate做准备,即准备实现VA-PA映射的页表,在relocate时使能MMU的satp指向这些页表,从物理地址切换到虚拟地址运行。二. 分析过程为了方便整个运行过程的分析,我们基于QEMU和GDB来进行仿真分析,可以方便对照汇编,查看
嵌入式Lee
2024-11-15
313浏览
RISCVlinuxkernel启动代码分析之二:RISCV的MMU介绍与relocate
一. 前言前面介绍了启动汇编部分代码执行流程和镜像头,这一篇继续分析整个过程中关键的一步relocate,物理地址到虚拟地址运行的切换。前面先简单介绍下riscv的mmu,后面分析relocate和setup_vm时需要用到。二. riscv的mmuMMU相关内容参考[1]The RISC-V Instruction Set Manual: Volume II Privileged Archite
嵌入式Lee
2024-11-14
450浏览
RISCVlinuxkernel启动代码分析之一:启动汇编部分代码
一. 前言本文主要分析RISCV linux kernel的启动汇编部分代码。先结合链接脚本和汇编代码介绍镜像头和启动汇编代码部分的执行过程。后面文章再详细分析重定向,mmu设置等相关重点内容。代码路径arch/riscv/kernel/head.S, 不同版本内核可能有点差异。二. 根据链接脚本查找入口与镜像头介绍2.1 链接脚本内核根目录Makefile中export KBUILD_LDS
嵌入式Lee
2024-11-12
398浏览
每日一问:在嵌入式系统中,常用于存储启动代码和关键数据的存储器是?
题目:在嵌入式系统中,常用于存储启动代码和关键数据的存储器是?A. SRAMB. DRAMC. Flash存储器D. EEPROM正确答案:C解答:在嵌入式系统中,启动代码和关键数据需要在系统断电后依然保持,以便下次启动时能够快速加载。SRAM(静态随机存取存储器)和DRAM(动态随机存取存储器)都是易失性存储器,它们在断电后会丢失数据,因此不适合用于存储启动代码和关键数据。EEPROM(电可擦可
嵌入式电子
2024-07-03
627浏览
FOC风机方案,包含龙伯格观测器,顺风逆风启动代码(文末附下载链接!)
硬件方案--主板及驱动电路类型型号封装数量电阻10R0603*41100R080511K0603*471K080535.1K0805131M08051电容12P0805222P080524.7UF1206216V1000UF电解1LEDLED绿色080525LED红色08051LED黄色08051二极管1N4148玻璃管21N5822贴片1晶振32.768K2*618.000MHz49SMD1芯片
智芯Player
2023-11-11
1125浏览
细嚼ARM的汇编启动代码
关注、星标公众号,直达精彩内容来源:文/编辑 by 冯光大关看门狗 # 为什么要关看门狗如果在启动代码过程中,我们忘记喂狗/没有时间去喂狗,那么看门狗就会触发,从而重启系统。因此我们要在启动代码的时候将看门狗关闭但是在210开发板上,在IROM开始的时候就把开门狗关闭了 ldr r0, =WTCON ldr r1, =0x0 str r1, [
李肖遥
2023-10-30
624浏览
51单片机的启动代码里面都有啥?
在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!”启动代码第一段▼以下是启动代码原文第一段:$NOMOD
嵌入式ARM
2022-04-21
766浏览
51单片机的启动代码里都有啥?
在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:▲keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!”启动代码第一段▼以下是启动代码原文第一段:$NOMO
ittbank
2022-04-13
984浏览
【本周网络研讨会】异构SOC启动代码分析I
这是搞一下汽车电子推出的系列网络研讨会,全年45期,每周1期,需付费参加,年费499/人起。如果有疑问,联系小编微信:
汽车电子与软件
2022-02-18
823浏览
51单片机的启动代码里面有什么?
在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!”启动代码第一段▼以下是启动代码原文第一段:$NOMOD
嵌入式ARM
2021-09-14
1192浏览
51单片机的启动代码里面都有啥?
关注+星标公众号,不错过精彩内容来源 | 老马识途单片机在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来
strongerHuang
2021-09-14
770浏览
51单片机的启动代码里面都写了啥?
在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!”启动代码第一段▼以下是启动代码原文第一段:$NOMOD
嵌入式资讯精选
2021-09-14
1071浏览
19. Cortex-A9 uboot启动代码详解
本篇文章是彭老师第一次在B站直播间,边直播边记录笔记,视频已经上传到B站。 现在完善整理成该篇文章,有想学习uboot启动的代码详细流程的老铁可以进入我B站空间配合视频一起学习。 B站用户名:一口Linux ARM系列文章,请点击以下汇总链接: 《从0学arm合集》 前言 我们在前面的arm系列课程,已经讲解了arm的架构、汇编指令、异常、常用外设的
一口Linux
2021-01-25
2518浏览
RISC-V处理器的C语言启动代码设计方法
随着微处理器市场竞争加剧,RISC-V指令集越来越受到关注。虽然RISC-V并非第一个开源的指令集(ISA),却是第一个可依据实际应用场景灵活选择指令集的指令集架构。RISC-V指令集架构可以满足从高性能服务器CPU直至超低功耗传感器内嵌CPU的全部应用场景。 通常情况下,一款处理器的启动代码多使用汇编语言设计。其原因包括:在处理器启动阶段,C运行环境还未初始化;汇编语言实现的代码不受编译器
嵌入式资讯精选
2020-02-18
1720浏览
正在努力加载更多...
广告
今日
新闻
1
蒋尚义评英特尔从“王者”到“Nobody”,与成熟工艺代工企业合并是“绝配”
2
RIGOL高速伺服激光加工系统MIPI D-PHY一致性测试
3
电力电子科学笔记:利用回旋共振测量电子和空穴的有效质量
4
全球AI算力的增长,正掀起太阳能光伏“新基建”热潮
5
小企业+低成本模式:欧洲边缘AI能否弯道超车中美?
6
三星电子首次设立“首席设计官”,聘请Mauro Porcini担任
7
转型Fab-Lite后,格科高像素CIS进入新阶段
8
美国对所有进口汽车加征25%关税,全球汽车产业链震动
热门
文章排行
1
深圳的“北方华创”!新凯来发布5大核心设备
芯极速
7979
2
新凯来引爆展会,到底什么来头
芯片工艺技术
4725
3
能生产3nm!中国成功研发全新DUV光刻:完全不同于ASML
硬件世界
3307
4
第七届"复微杯"2025全国大学生电子设计大赛正式启动!
FPGA开源工作室
2285
5
产能大爆发!国产大飞机C919今年冲刺75架,2029年将达200架!
飙叔科技洞察
2113
6
新凯来发布6大类31款半导体设备(附产品资料)
芯通社
1752
7
英伟达芯片或遭中国限制!股价暴跌!
半导体前沿
1156
8
56岁竟然逆生长,“劳模”雷军为何越来越年轻了
快科技
1040
9
6家SiC企业实现12吋突破!
第三代半导体风向
1012
10
近30家SiC/GaN企业集结上海,2025最新技术集中亮相
第三代半导体风向
885
11
黄金时代即将结束,英伟达股价即将迎来大幅下跌
美股研究社
834
12
李想官宣:理想汽车自研汽车操作系统「理想星环OS」开源
谈思实验室
792
13
市场竞争刚拉开帷幕,2025年AI眼镜市场第一季度新品大揭秘
JMInsights集摩咨询
780
14
可控核聚变重大突破!能源革命的终极答案即将来临?
电动车公社
778
15
东旭集团财务造假:被罚17亿元,19人禁入证券市场!
WitDisplay
777
16
2家SiC企业实现主驱突破,今年MOS国产化率将达20%?
第三代半导体风向
754
17
林本坚:中国大陆或催生半导体界的“DeepSeek”
芯极速
735
18
走进SEMICONChina:半导体产业8大看点和“黑科技”揭秘
DT半导体材料
730
19
三大半导体备战产业化,金刚石才是“性能天花板”!
DT半导体材料
691
20
中科院全固态DUV光源技术突破!
芯极速
683
21
三星李在镕到访比亚迪!
半导体前沿
675
22
5亿元!方正电机上海电驱工厂即将开工
行家说汽车半导体
671
23
国家发改委:批评某些车企
一览众车
664
24
疑已通过审批!特斯拉FSD更名后悄然推送
谈思汽车
637
25
《Kimi高效办公》《豆包高效办公》《智能体设计指南》新书发布会成功举办
IT阅读排行榜
631
26
DeepSeek塞进小盒子?ESP32微型AI伴侣开发指南!
嵌入式大杂烩
625
27
RTX5060Ti上演超级跳票!NVIDIA保证可以原价买到
硬件世界
581
28
三星会长李在镕探访小米汽车工厂!
皇华电子元器件IC供应商
564
29
广州低空经济发展带火无人机考证 越来越多年轻人涌入“新赛道”
爱上半导体
512
30
三星李在镕,亲访小米争取订单
芯极速
506
广告
最新
评论
更多>>
AES11
用户17433...
评论文章
2025-03-31
欧阳明高最新百人会报告PPT(附下载):《电动乘用车发展的新阶段、新挑战与新路径》
AES11
用户17433...
评论文章
2025-03-31
欧阳明高最新百人会报告PPT(附下载):《电动乘用车发展的新阶段、新挑战与新路径》
资料
文库
帖子
博文
1
AD、DA转换器接口技术与实用线路-杨振江
2
RAG全栈技术从基础到精通 ,打造高精准AI应用
3
BMS通讯协议
4
IPC J-STD-001J-CN:中文 2024 焊接的电气和电子组件要求.pdf
5
高精度气压计与海拔传感器HP203N的技术规格及应用
6
新能源电池技术
7
多传感器信息融合及应用
8
硅微机械传感器
9
RC拉普拉斯逆变换计算C上的充电曲线
10
低抖动可编程压控振荡器5032 FVC-5P-LJ
1
如何去标定光敏电阻使得每一个的灵敏度一样
2
这个CAN通讯电路最高能支持的速率是多少?通讯的原理谁...
3
宝砾微DCDC降压、DCDC升压、DCDC升降压、数模混合SOC 电源芯片
4
【2025第1期拆解活动】拆解——洞见电子产品设计智慧!
5
中微半导体发布首款集成RISC-V内核的32位微控制器-ANT32RV56xx
6
【元能芯24V全集成电机专用开发板】+GPIO测试+PWM输出测试
7
LC6710A 代替OB3635AMP
8
LTspice参数扫描为什么只有一种情形的波形?
1
WT588F语音芯片响应时间深度解析:从指令触发到音频播放的技术全貌
2
无线门铃语音芯片IC解决方案:WTN6040F与WT588F02B深度解析
3
【拆解】+Shinco音响拆解
4
多核异构架构的算力协同:为旌R5F+A55内核如何解决Linux-RT实时性难题?
5
真空容器的材料有哪些
6
真空容器是恒压的吗
7
真空容器是否存在压强
8
特斯拉入华十年:褪去光环,开始 “交学费”
1
三电平双向全桥多谐振DC-DC变换器研究
2
浪涌电流的抑制和DC-DC芯片的保护方案
3
什么是整流变压器
4
上位机开发多PLC多协议如何来实现
5
PCB到底有没有必要加泪滴?
6
降低开关电源纹波的方法
7
TVS的规格书举例
8
转子永磁体布局
9
如何预估一个晶圆中有多少Die?
10
VCU、ECU、MCU电池BMS图解
在线研讨会
MAXQ™ Power转换器架构:性能零浪费
多物理场仿真在半导体制程中的应用
迈来芯新一代经济型热成像技术:赋能电力电子过热保护与智能应用温度监控
ADI 应用于电池管理系统 (BMS) 的电芯监测解决方案
EE直播间
精准捕获瞬态信号,掌控复杂射频环境 – 实时频谱分析与录制回放
直播时间:04月10日 10:00
利用高性能源表和强大的软件, 实现半导体参数的测试和分析
直播时间:04月17日 10:00
E聘热招职位
本网页已闲置超过10分钟,按键盘任意键或点击空白处,即可回到网页
X
最新资讯
蒋尚义评英特尔从“王者”到“Nobody”,与成熟工艺代工企业合并是“绝配”
RIGOL高速伺服激光加工系统MIPI D-PHY一致性测试
电力电子科学笔记:利用回旋共振测量电子和空穴的有效质量
全球AI算力的增长,正掀起太阳能光伏“新基建”热潮
小企业+低成本模式:欧洲边缘AI能否弯道超车中美?