ARM
文章平均质量分 85
逃不了ARM的魔爪
CyberSecurity_zhang
高级MCU软件开发工程师
展开
-
Cortex-R52 深度分析总目录
之前对于R52写的比较随意,现在觉得对于这种内核还是需要系统性的总结一下。原创 2023-09-20 16:04:05 · 537 阅读 · 1 评论 -
IAR的变量初始化浅析
Hi,大家好,今天是落汤的肌肉,因为成都的天像是漏了一样。昨天的文章最后留了一个小坑,今天把他填了。再赠送一段使用JLINK RTT串口模拟,这样在调试时节省一个串口资源。原创 2024-07-18 15:34:45 · 825 阅读 · 0 评论 -
IAR启动流程深度“起底”
ARM M内核芯片里的启动代码通常会提供Arm、gcc、iar等编译器的模板,其中让人比较迷糊的是IAR的模板。BLX R0BX R0从上面汇编可以看到,Reset_Handler里跳转至__iar_program_start,使命就结束了。这个__iar_program_start里面具体定义了什么内容?搜遍整个工程都没有发现,因此还得从使用手册查起。在IAR工程配置里有这么一个选项:这就意味着如果使能该选项,那么应用程序就在这个标签开始。原创 2024-07-17 19:32:23 · 582 阅读 · 0 评论 -
Armv8-R内存模型详解
大家好,今天是悲伤的肌肉。在调研区域控制器芯片时,发现了S32Z、Stellar SR6P7等芯片均采用的是Cortex-R52\R52+内核,该内核架构为Armv8-R;在阅读内核手册时对内存模型里出现很多之前没有接触过的概念感到困惑,例如Normal memory\Device Memory、Device_nGnRnE;因此简单总结下,以备不时之需。原创 2024-07-12 18:04:19 · 724 阅读 · 0 评论 -
ArmV8常用汇编指令2
基础arm指令介绍原创 2023-11-16 09:38:19 · 593 阅读 · 0 评论 -
ArmV8常用汇编指令
section指示把代码划分成若干个段(Section),程序被操作系统加载执行时,每个段被加载到不同的地址,操作系统对不同的页面设置不同的读、写、执行权限。GNU伪指令具体可参考。正是在这种情况下,汇编器报了第1节中所说的错误,可能是指令采用了新的汇编风格,和旧的不兼容。符号symbol是核心概念,是一个程序的桥梁,程序员使用符号来命名各种内容,链接器使用符号进行链接,调试器使用符号进行定位调试。伪指令,用于给汇编器发送命令,让汇编器按照既定命令进行汇编,也就是说,在汇编完成后,伪指令的使命就结束了。原创 2023-11-16 09:24:01 · 698 阅读 · 0 评论 -
记录第一个启动代码的诞生
核使用R52,参考汇编模板,一步一步来实现。注意哦,我特别没有在这里还对齐处理,原因是想在.S里验证对齐的作用。现在开始写vector_table。原创 2023-09-15 11:29:55 · 847 阅读 · 2 评论 -
Cortex-R52:GIC配置
R52的GIC配置要点原创 2023-08-17 16:14:04 · 379 阅读 · 0 评论 -
Cortex-R52:GIC
GIC对于软件开发的难点在于理解GICD\GICR之间的映射关系;例如GICD有很多寄存器地址是不连续的,如果看GICR的寄存器地址就很容易误解GICR寄存器穿插在GICD里,其实不然,GICR在GIC的memmap中共有5个,分别不同的基地址,而GICR的偏移是基于这个基地址来的。原创 2023-08-16 18:00:29 · 457 阅读 · 0 评论 -
Cortex-R52:Affinity分析
在阅读R52的TRM时,有一个寄存器引起了我注意,MPIDR(Multiprocessor Affinity Register),之前比较少接触ARM核的片子,所以对这个确实有点不清楚,从字面意思看,叫多核亲和度寄存器。好奇怪,亲和度具体指啥?我们来看看。原创 2023-08-14 14:14:00 · 575 阅读 · 0 评论 -
Cortex-R52(一):系统控制寄存器
Cottex-R52是一个中等性能的处理器,主要用于汽车以及其他工业领域。原创 2023-05-23 14:09:48 · 2303 阅读 · 0 评论