随笔分类 - ARM
摘要:Embedded Programming with the GNU Toolchain Vijay Kumar B. 翻译整理:thammer github: "https://github.com/tanghammer/Embedded Programming with the GNU Toolc
阅读全文
摘要:S3C2440里面带的是MMU,而现在流行的Cortex M3/4 里面带的是MPU。 MMU vs MPU 内存是现代计算机最重要的组件之一。因此,它的内容不能被任何错误的应用所篡改。这个功能可以通过MMU(Memory Management Unit)或者MPU(Memory Protectio
阅读全文
摘要:转自 https://www.cnblogs.com/linuxbo/p/4297680.html 命名规则 交叉编译工具链的命名规则为:arch [-vendor] [-os] [-(gnu)eabi] [-gcc] arch – 体系架构,如ARM,MIPS vendor – 工具链提供商 os
阅读全文
摘要:环境及代码介绍 环境和源码 环境和源码 由于有时候要透彻的理解C里面的一些细节问题,所有有必要看看汇编,首先这一切的开始就是从汇编代码进入C的main函数过程。这里不使用编译器自动生成的这部分汇编代码,因为编译器自动生成的代码会涉及环境变量的传递,参数的传递等等一系列问题。以ARM汇编来进行分析。使
阅读全文
摘要:调试2440 RAM拷贝至SDRAM遇到的问题 汇编代码主要是初始化一些寄存器,关狗,初始化时钟,初始化存储管理器以便访问内存,然后将SoC上4k RAM数据拷贝至SDRAM,然后在SRAM里面运行,由于代码未正常跑起来,于是使用JLinkExe来调试。JLinkExe指定了一个命令文件: JLin
阅读全文
摘要:由于喜欢折腾,我是在linux下使用jlink的,既然JLinkExe可以进行内存读写操作,loadbin等操作,并且通过指定命令文件支持批量指令输入,那么首先jlink是可以直接访问内部存储器的,包括它的RAM和各种Soc上外设如存储控制器,串口配置寄存器等,但是不能直接访问外部存储器,如Norf
阅读全文
摘要:中断是嵌入式系统中重要的组成部分,但是在标准C中不包含中断。许多编译开发商在标准C上增加了对中断的支持,提供新的关键字用于标示中断服务程序 (ISR),类似于__interrupt、#program interrupt等。当一个函数被定义为ISR的时候,编译器会自动为该函数增加中断服务程序所需要...
阅读全文