共2条
1/1 1 跳转至页
ARM,51,ARM 怎样构造最简单的ARM系统,51到ARM的转型!

问
如果ARM系统不包括OS,那么它和单片机(51)在程序下载,程序执行情况会有那些不同呢(和单片机开发过程中的不同)?这种情况的BootLoader应该这样写呢?程序怎样COPY到内部的SRAM中呢?
答 1:
我做过了和51不同的是需要一个初始化程序,不过这个程序基本上厂家都做好了
答 2:
试着回答一下你的问题:1.不包括OS的话,目前很多的ARM芯片可以看成是单片机
2.芯片制造厂商一般会提供程序下载的手段
3.开发过程基本是一样的,只是开发平台不一样而已
4.程序执行是很不相同的,因为是不同的处理器结构,建议看看ARM体系结构
5.BOOTLOADER是程序启动下载的手段,可以参考相关的例子,比如网上44B0的BIOS
6.程序在RAM中运行根据处理器不同,有的有REMAP,有的没有,也可以参考网上44B0的BIOS,这是没有REMAP的情况,有REMAP的可以参考ZLG的例子
答 3: 也就是说。 这样说,我写个简单LED闪烁程序,就只需要定义IO口,然后延时驱动为高低就可以了吗?下载就用厂家提供的JTAG方式(如果有下载电缆)下载在芯片中(有的DX说ARM有些没有内部的CODE空间,需要外挂CODE存储器)。
初始化代码究竟做了些什么事情呢? 答 4: 初始化:1.初始化片上外设,和51一样,就是多一些,特别的,初始化内存控制器
2.初始化各处理器模式堆栈
3.处理异常向量
4.设置中断向量,这个比51复杂
5.如果需要,COPY代码到RAM中运行
6.跳装到C的MAIN运行
开始学习的时候可以用现成的启动代码,那么就只需要写个和51一样的延时点亮程序就可以了 答 5: 很感谢! 答 6: 简单的东西也可以直接在flash运行就譬如说LED闪烁,当然有些复杂的是在sdram中运行的
2.芯片制造厂商一般会提供程序下载的手段
3.开发过程基本是一样的,只是开发平台不一样而已
4.程序执行是很不相同的,因为是不同的处理器结构,建议看看ARM体系结构
5.BOOTLOADER是程序启动下载的手段,可以参考相关的例子,比如网上44B0的BIOS
6.程序在RAM中运行根据处理器不同,有的有REMAP,有的没有,也可以参考网上44B0的BIOS,这是没有REMAP的情况,有REMAP的可以参考ZLG的例子
答 3: 也就是说。 这样说,我写个简单LED闪烁程序,就只需要定义IO口,然后延时驱动为高低就可以了吗?下载就用厂家提供的JTAG方式(如果有下载电缆)下载在芯片中(有的DX说ARM有些没有内部的CODE空间,需要外挂CODE存储器)。
初始化代码究竟做了些什么事情呢? 答 4: 初始化:1.初始化片上外设,和51一样,就是多一些,特别的,初始化内存控制器
2.初始化各处理器模式堆栈
3.处理异常向量
4.设置中断向量,这个比51复杂
5.如果需要,COPY代码到RAM中运行
6.跳装到C的MAIN运行
开始学习的时候可以用现成的启动代码,那么就只需要写个和51一样的延时点亮程序就可以了 答 5: 很感谢! 答 6: 简单的东西也可以直接在flash运行就譬如说LED闪烁,当然有些复杂的是在sdram中运行的
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |