社区首页
博客
论坛
下载
文库
评测
芯语
研讨会
商城
EE直播间
芯视频
E聘
更多
社区
论坛
博客
下载
评测中心
面包芯语
问答
E币商城
社区活动
资讯
电子工程专辑
国际电子商情
电子技术设计
CEO专栏
eeTV
EE|Times全球联播
资源
EE直播间
在线研讨会
视频
白皮书
小测验
供应商资源
ASPENCORE Studio
活动
IIC Shanghai 2023
2023(第四届)国际 AIoT 生态发展大会
全球 MCU 生态发展大会
第四届临港半导体产业高峰论坛暨司南科技奖颁奖盛典
IIC Shenzhen 2023
第四届中国国际汽车电子高峰论坛
更多活动预告
杂志与服务
免费订阅杂志
电子工程专辑电子杂志
电子技术设计电子杂志
国际电子商情电子杂志
帖子
帖子
博文
电子工程专辑
电子技术设计
国际电子商情
资料
白皮书
研讨会
芯语
文库
×
提示!
您尚未开通专栏,立即申请专栏入驻
帖子
博文
用户
芯语
首页
专栏作家
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
85浏览
RISCVLinuxkernel启动代码分析之十二:riscv中断架构介绍(1)
一. 前言前面设备树相关文章提到了重点要关注中断相关的内容,中断是最核心的部分,在调试其他外设驱动之前,先要调试好中断系统。中断系统一般架构如下:CPU内核级中断/异常向量->中断控制器->各个设备中断。其中CPU内核级别中断/异常向量是RISCV标准定义好的,定义了有哪些中断和异常源,对应一个中断向量表。stvec和mtvec的低2位为0指定异常入口都走stvec/mtvec指定的地址(地址低两
嵌入式Lee
2024-12-07
88浏览
RISCVLinuxkernel启动代码分析之十一:设备树介绍(2)
中断和中断映射这是非常重要的部分中断逻辑上构成一个树形结构比如有中断产生的源头(设备产生中断)interrupt specifier 描述中断号,中断电平interrupt domain 中断产生设备interrupt-controller 中断控制器Interrupt Nexus 中断连接器,将子中断连接到父中断中去,一般用于PCI。中断树结构示意中断发生设备的属性interrupt
嵌入式Lee
2024-12-06
36浏览
RISCVLinuxkernel启动代码分析之十:设备树介绍(1)
一. 前言在opensbi和linux kernel中我们看到都会涉及设备树的解析,本文就来分享下设备的一些基本知识。设备树规格书下载https://github.com/devicetree-org/devicetree-specificationDTSpec指定了一个称为设备树的构造来描述系统硬件。引导程序将设备树加载到客户端程序的内存中,并将指向设备树的指针传递给客户端。Opensbi中就是
嵌入式Lee
2024-12-05
63浏览
RISCVLinuxkernel启动代码分析之九:initramfs实践
一. 前言 内核启动后需要挂载根文件系统,找到并执行init程序。在调试适配阶段,我们甚至还没有实现各种存储设备的驱动,此时也没法从对应的存储设备挂载文件系统找到init执行。此时我们可以使用initramfs,直接将简单的根文件系统打包压缩嵌入到内核中,启动时解压解包文件到rootfs中,此时就可以找到对应的init执行,后续再加载存储设备驱动,挂载实际的根文件系统,并切换过去。 整个过程涉及如
嵌入式Lee
2024-11-24
60浏览
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
65浏览
RISCVLinuxkernel启动代码分析之七:早期使用opensbi的串口打印
一. 前言适配内核到新的平台,基本环境搭建好之后,首要的就是要调通调试串口,方便后面的信息打印。正常流程init/main.c中start_kernel入口,要到console_init之后才能真正打印,前面的打印都是缓存在printk的ringbuffer中的。如果在console_init前就异常了,此时就看不到打印信息,为了调试console_init前的状态,需要能更早的打印。内核提供了一
嵌入式Lee
2024-11-20
109浏览
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
146浏览
RISCVLinuxkernel启动代码分析之五:一个小技巧实现在MMU使能后继续使用GDB调试
一. 前言我们在前面分析head.S时借助了GDB进行仿真分析。在使能MMU前,链接地址和运行地址虽然不一样,但是此时没有使能MMU可以直接访问物理地址,我们此时可以使用GDB进行单步等各种调试,链接地址和运行有一个固定偏差所以也可以直接对照反汇编代码。应对此时的链接地址和运行地址不一致导致的无法使用vmlinux的符号,无法在GDB中同时对应源码和汇编,我们可以使用add-symbol-file
嵌入式Lee
2024-11-17
154浏览
RISCVLinuxkernel启动代码分析之四:setup_vm之后的页表
一. 前言前文分析了setup_vm函数,主要是几个配置页表的函数的实现。这一篇就进一步来看看setup_vm完之后,配置的页表到底将那些虚拟地址映射到了哪里。我们通过手算和GDB查看对照的方式来加深印象。二. 分析过程在如下位置打断点运行到该处,即setup_vm执行完后,relocate执行前。hb *0x80201000c然后打印出各个页表的内容,和手动计算对比。从源码可以看出构建了两个根页
嵌入式Lee
2024-11-16
183浏览
RISCVlinuxkernel启动代码分析之三:setup_vm分析
一. 前言前面我们介绍了riscv的mmu以及kernel汇编代码中的relocate处理。这一篇继续来分享启动代码中最重要的一环setup_vm。该函数为relocate做准备,即准备实现VA-PA映射的页表,在relocate时使能MMU的satp指向这些页表,从物理地址切换到虚拟地址运行。二. 分析过程为了方便整个运行过程的分析,我们基于QEMU和GDB来进行仿真分析,可以方便对照汇编,查看
嵌入式Lee
2024-11-15
215浏览
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
250浏览
RISCVlinuxkernel启动代码分析之一:启动汇编部分代码
一. 前言本文主要分析RISCV linux kernel的启动汇编部分代码。先结合链接脚本和汇编代码介绍镜像头和启动汇编代码部分的执行过程。后面文章再详细分析重定向,mmu设置等相关重点内容。代码路径arch/riscv/kernel/head.S, 不同版本内核可能有点差异。二. 根据链接脚本查找入口与镜像头介绍2.1 链接脚本内核根目录Makefile中export KBUILD_LDS
嵌入式Lee
2024-11-12
250浏览
每日一问:在嵌入式系统中,常用于存储启动代码和关键数据的存储器是?
题目:在嵌入式系统中,常用于存储启动代码和关键数据的存储器是?A. SRAMB. DRAMC. Flash存储器D. EEPROM正确答案:C解答:在嵌入式系统中,启动代码和关键数据需要在系统断电后依然保持,以便下次启动时能够快速加载。SRAM(静态随机存取存储器)和DRAM(动态随机存取存储器)都是易失性存储器,它们在断电后会丢失数据,因此不适合用于存储启动代码和关键数据。EEPROM(电可擦可
嵌入式电子
2024-07-03
614浏览
FOC风机方案,包含龙伯格观测器,顺风逆风启动代码(文末附下载链接!)
硬件方案--主板及驱动电路类型型号封装数量电阻10R0603*41100R080511K0603*471K080535.1K0805131M08051电容12P0805222P080524.7UF1206216V1000UF电解1LEDLED绿色080525LED红色08051LED黄色08051二极管1N4148玻璃管21N5822贴片1晶振32.768K2*618.000MHz49SMD1芯片
智芯Player
2023-11-11
923浏览
细嚼ARM的汇编启动代码
关注、星标公众号,直达精彩内容来源:文/编辑 by 冯光大关看门狗 # 为什么要关看门狗如果在启动代码过程中,我们忘记喂狗/没有时间去喂狗,那么看门狗就会触发,从而重启系统。因此我们要在启动代码的时候将看门狗关闭但是在210开发板上,在IROM开始的时候就把开门狗关闭了 ldr r0, =WTCON ldr r1, =0x0 str r1, [
李肖遥
2023-10-30
612浏览
51单片机的启动代码里面都有啥?
在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!”启动代码第一段▼以下是启动代码原文第一段:$NOMOD
嵌入式ARM
2022-04-21
753浏览
51单片机的启动代码里都有啥?
在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:▲keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!”启动代码第一段▼以下是启动代码原文第一段:$NOMO
ittbank
2022-04-13
940浏览
【本周网络研讨会】异构SOC启动代码分析I
这是搞一下汽车电子推出的系列网络研讨会,全年45期,每周1期,需付费参加,年费499/人起。如果有疑问,联系小编微信:
汽车电子与软件
2022-02-18
793浏览
51单片机的启动代码里面有什么?
在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!”启动代码第一段▼以下是启动代码原文第一段:$NOMOD
嵌入式ARM
2021-09-14
1152浏览
51单片机的启动代码里面都有啥?
关注+星标公众号,不错过精彩内容来源 | 老马识途单片机在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来
strongerHuang
2021-09-14
748浏览
51单片机的启动代码里面都写了啥?
在我们使用kei c51创建一个51单片机项目时,会有如下图所示的提示:keil创建新项目时,提示是否添加启动文件一般情况下,需要选择“是”。当然,也可以选择不加。那么,这个启动文件的作用是什么?什么情况下需要加,什么情况下可以不加?今天我们就来详细了解一下这个启动文件的内容,看明白这个内容后,我们就会有种恍然大悟的感觉:“哦,原来是这样啊!”启动代码第一段▼以下是启动代码原文第一段:$NOMOD
嵌入式资讯精选
2021-09-14
1065浏览
19. Cortex-A9 uboot启动代码详解
本篇文章是彭老师第一次在B站直播间,边直播边记录笔记,视频已经上传到B站。 现在完善整理成该篇文章,有想学习uboot启动的代码详细流程的老铁可以进入我B站空间配合视频一起学习。 B站用户名:一口Linux ARM系列文章,请点击以下汇总链接: 《从0学arm合集》 前言 我们在前面的arm系列课程,已经讲解了arm的架构、汇编指令、异常、常用外设的
一口Linux
2021-01-25
2448浏览
RISC-V处理器的C语言启动代码设计方法
随着微处理器市场竞争加剧,RISC-V指令集越来越受到关注。虽然RISC-V并非第一个开源的指令集(ISA),却是第一个可依据实际应用场景灵活选择指令集的指令集架构。RISC-V指令集架构可以满足从高性能服务器CPU直至超低功耗传感器内嵌CPU的全部应用场景。 通常情况下,一款处理器的启动代码多使用汇编语言设计。其原因包括:在处理器启动阶段,C运行环境还未初始化;汇编语言实现的代码不受编译器
嵌入式资讯精选
2020-02-18
1654浏览
正在努力加载更多...
广告
今日
新闻
1
笔记本高性能CPU来了:酷睿Ultra二代处理器产品线补全
2
升压转换器的输出范围该怎么增加?
3
英伟达50系列显卡发布,RTX 5090D近乎“零提升”?
4
哪吒汽车官网突发崩溃,正遭遇连环危机
5
ECIA:2025年1月电子元件销售热情有所提升
6
小米超级电机V8s项目组获“千万技术大奖”,背后有什么黑科技?
7
英飞凌:踏“绿”前行,引领能源变革新时代
8
Matter 1.4发布,智能家居能源自动化梦想成真
热门
文章排行
1
CES2025|1月7日上午10:30观看NVIDIACEO黄仁勋主题演讲
英伟达NVIDIA中国
4405
2
美国将长鑫、腾讯等134家中企列入黑名单(附中英文名单)
集成电路IC
2911
3
2024年12月及全年新能源汽车销量排名
一览众车
1943
4
2024年12月和全年,各大品牌汽车销量汇总!
汽车电子设计
1621
5
明天发布!NVIDIA新核弹RTX5090规格、售价抢先看
硬件世界
1305
6
骂华为的孙院士,上新闻联播了!说华为搞封闭垄断,是难以对抗西方的!
集成电路IC
1276
7
买了一年多的电车,续航从400掉到40公里!女车主崩溃:换电池都没货
快科技
1263
8
突发!禾赛科技被曝裁员:N+1,无年终奖
谈思汽车
1252
9
苹果2025年19款新品抢先看:最便宜和最轻薄iPhone都来了!
手机技术资讯
1117
10
阿里前董事长张勇履新职;字节TikTok算法负责人或离职;英特尔CEO突然宣布退休|2024年12月全球科技企业高管变动
全球TMT
1080
11
RTX50第一弹!RTX5080上市时间敲定
硬件世界
1060
12
王炸来了!特斯拉自动驾驶即将进入中国,只有华为能接招?
飙叔科技洞察
991
13
苹果2025年19款新品抢先看:最便宜和最轻薄iPhone都来了!
快科技
978
14
【今日分享】2025新年贺词:梦虽遥,追则能圆,愿虽艰,持则可达
今日光电
940
15
上海2025年新能源牌照政策压哨更新!哪些细节值得关注?
汽车电子设计
813
16
本月,美国将发布AI芯片新禁令
谈思汽车
791
17
季华实验室、鹏城实验室、长春光机所等被美国“拉黑”,新型显示产业发展或“添堵”
JMInsights集摩咨询
789
18
明日挂牌上市!功率模组核心部件散热基板国产龙头企业的成本与价值
碳化硅芯观察
720
19
三星复制“梁孟松模式”落空
芯极速
711
20
2024中国大陆晶圆厂(Fab)汇总
芯极速
701
21
消息称吉利、旷视展开智能驾驶合作,或成立一家新合资公司
52RD
698
22
突发!传激光雷达巨头大规模裁员,无年终奖!
EETOP
662
23
扎克伯格高调庆祝40岁生日,花千万打造童年派对,比尔盖茨惊喜现身
美股研究社
627
24
特斯拉上海储能超级工厂竣工,产品将供应全球市场!同时,2025年将加速推进自动驾驶!
飙叔科技洞察
615
25
奥士康、世运、依顿…PCB企业2024年向泰国公司增资情况一览
PCBworld
600
26
iPhoneSE4更名为16E:2025年最便宜的苹果手机
手机技术资讯
577
27
兆易创新:高算力GD32G5系列MCU如何引领数字能源、电机控制与光通信的变革
皇华电子元器件IC供应商
576
28
曝极越汽车开始返聘员工夏一平称不会放弃
智能汽车电子与软件
574
29
2024信创:一文看懂国产芯片格局
智能计算芯世界
555
30
SLDA年会前瞻|迈锐光电将精彩亮相SLDA年会
每日LED
542
广告
最新
评论
更多>>
一般喜欢标榜“打破垄断”“国x领先”的都死的比较快。嘴比手厉害
56089689_...
评论文章
2025-01-07
砺芯慧感:量产薄膜铂电阻传感器,打破国外30年垄断
我这,原先V10.5跑的好好的代码,更新V11后,单片机初始化时就不断重启
vaov_3734...
评论文章
2025-01-06
FreeRTOSV11.0升级了多项重要功能,兼容V10版本
资料
文库
帖子
博文
1
汽车动力与底盘MCU市场现状研究报告
2
《彩色电视机原理与维修》
3
《相对论》(美·爱因斯坦)
4
《时间的1000个瞬间》林为民
5
自动增益控制放大器设计与实现
6
《时间简史》(霍金 著)
7
ISO 7637-1-2023
8
ESP32TFT常用字体库.zip
9
基于单片机音频信号分析仪设计论文
10
12-8学习笔记
1
【工程师故事】+2024年:跟大家说说我从工程师到教师的跨界之旅
2
过流保护,大家都会采集电流后经过运放放大送单片机,单片机控制MOS,从而保护后级电路。那短路保护,大家都是怎么做的。现在遇到一个问题,...
3
C语言输出圣诞树
4
求助 请推荐一款8脚的DCDC , 12V 变5V的, 2A 就行,不虚标。
5
摩托车电子,ACC钥匙开关关了后,用示波器挂在ACC线上,还是能抓到一个漏电波形,设置的是5V的触发电平。这种概率性的漏电波形如何有什么办法吸...
6
超低频示波器的原理和应用
7
ESP32搭建TFT_LCD中文字库,附常用字库
8
5SMDJ58CA中功率TVS二极管参数及典型应用
1
硅电容系列二:硅电容主要厂家– 村田
2
NXP iMX8MP 处理器基于 Linux 关闭 Debug Console 输出
3
无人机锂电池行业发展现状及市场潜力分析报告
4
谈大模型的赋能
5
Matter 标准:破生态枷锁,启家居智能新时代
6
如何区分315MHz和433MHz遥控模块?
7
硅电容系列一:硅电容概述
8
德鲁克著作的解读:从“人”与“事”看管理的本质
1
NMOS管比PMOS管更受欢迎?是真的吗?
2
全面谈谈ESC系统
3
GPIO,I2C,SPI,UART,USART,USB的区别
4
什么是AEB自动紧急制动?
5
自激式开关电源电路设计
6
电路板温度慢慢升高导致ADC采集电路采集不准!
7
从简单到复杂分享交流接触器常用接线电路图和实物图
8
二极管串联的电源防反接电路
9
为什么建议你用表驱动法?嵌入式C语言代码开发技巧
10
共模电感为什么接在开关电源交流一侧?
在线研讨会
多路有光·精准不凡——KSW-SGM01模拟信号源发布会
重塑机器人未来:揭秘创新芯片解决方案的颠覆力量
迈来芯Triaxis® 3D磁传感器:汽车安全应用的优选方案
适用于安全连接的新一代PIC32CK SG/GC系列单片机
EE直播间
精密半导体参数测试解决方案
直播时间:01月08日 10:00
第三代功率半导体器件测试解决方案
直播时间:03月06日 10:00
E聘热招职位
本网页已闲置超过10分钟,按键盘任意键或点击空白处,即可回到网页
X
最新资讯
笔记本高性能CPU来了:酷睿Ultra二代处理器产品线补全
升压转换器的输出范围该怎么增加?
英伟达50系列显卡发布,RTX 5090D近乎“零提升”?
哪吒汽车官网突发崩溃,正遭遇连环危机
ECIA:2025年1月电子元件销售热情有所提升