电子发烧友App

硬声App

扫码添加小助手

加入工程师交流群

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>嵌入式开发>详解ARM系统代码固化的串口实现

详解ARM系统代码固化的串口实现

2017-11-06 | rar | 0.3 MB | 次下载 | 1积分

资料介绍

早期的嵌入式程序采用“编程—烧写—修改—烧写”的开发模式,大量的时间消耗在重复烧写芯片上,增加了开发成本和研发周期。之后发展到仿真器阶段,虽然简化了开发模式,但是由于仿真器与ARM芯片的兼容性等因素,经常会发生程序在仿真器上能正确运行,但是固化之后运行却出现问题的情况。
  程序的固化是软件开发过程中重要的一环,一般可通过JATG口、网口及串口等进行烧写。相比之下,串口实现更为便捷,更值得推广。笔者在开发1C1T小灵通中继站的过程中,通过编制烧写程序,利用串口将编译后的目标代码发送给ARM处理器;由ARM处理器内部的监控程序将目标代码写入片外Flash,实现程序的在线烧写。这样不仅简化了电路设计,而且降低了开发成本,缩短了开发时间。
  1 烧写原理及过程
  硬件连接如图1所示,ARM开发板一方面通过串口与PC机连接,另一方面通过20针IDC宽带线与仿真器相连,再由仿真器通过25针并口插座与PC机的LPT口相连。开发板通电后即可进行烧写工作。
  如图2所示,代码固化分2个步骤进行。第1步,如虚线一所示,监控程序的映像通过仿真器下载到ARM的内部RAM中运行,用户可以在主机端用超级终端或者其他串口调试工具与开发板通信。第2步,将应用程序的可执行代码通过串口发送,如虚线二所示,此时内部RAM里的监控程序就会接收并把它烧写到Flash中。
  详解ARM系统代码固化的串口实现
  图1 ARM开发板与PC机的连接
  详解ARM系统代码固化的串口实现
  图2 代码烧写原理
  2 监控程序的设计
  2.1 启动代码设计
  实现串口烧写的监控程序包括ARM启动代码、串口通信代码和Flash烧写代码3部分。ARM启动代码是整个程序运行的入口点,完成ARM系统正常运行所必需的简单初始化,然后把系统控制权交给操作系统或者高级语言编写的监控程序。由于启动代码直接对SoC内核和硬件控制器进行编程,因此必须采用汇编语言。
  启动代码包括异常向量表的定义、各种模式的堆栈初始化、系统硬件初始化、程序运行环境初始化,最后跳转到用户C语言主程序。当系统上电或复位后首先会从逻辑地址0x0处执行。
  ARM处理器有7种运行模式,如表1所列。每一种模式都有独立的堆栈指针寄存器(SP),因此对使用的模式都要给堆栈指针寄存器SP定义堆栈地址。改变状态寄存器(CPSR)内的状态位,使处理器切换到不同模式,然后给SP赋值就可以实现堆栈的初始化。当然,堆栈的大小视需要而定。
ARM 串口
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1FS4054H 输入电压范围3.8V~6.8V 输入最大耐压28V 输入过压关闭充电阈值6.8V
  2. 4.22 MB  |  2次下载  |  免费
  3. 2AC/DC 225W 开板电源 LOF225-23BxxR2系列数据手册
  4. 2.70 MB   |  1次下载  |  1 积分
  5. 3晶振技术解析---电子设备的“时钟心脏”
  6. 1.55 MB  |  1次下载  |  免费
  7. 4AU6830M 集成音频 DSP 的 2 × 41W 数字型 Class D 音频功率放大器数据手册
  8. 1.86 MB   |  次下载  |  免费
  9. 5AU6815E 集成音频 DSP 的2×32W数字型 Class D 音频功率放大器数据手册
  10. 1.21 MB   |  次下载  |  免费
  11. 6I-PEX 82652-100B-02-D_CABLINE-CA系列40P极细同轴线束SI设计图纸
  12. 293.34 KB  |  次下载  |  免费
  13. 7I-PEX 82863-100B-02-D_CABLINE-CA系列PCIe/USB4极细同轴线图纸
  14. 301.83 KB  |  次下载  |  免费
  15. 8YA-002S屏幕挂灯说明书
  16. 1.25 MB  |  次下载  |  免费

本月

  1. 1人形机器人执行、感知系统技术及市场解析
  2. 3.52 MB  |  5次下载  |  免费
  3. 2WD431产品规格书
  4. 1.32 MB  |  3次下载  |  免费
  5. 3A-29回音消除模块
  6. 1.28 MB  |  2次下载  |  免费
  7. 4 双麦阵列回音消除及降噪模块 A-47 说明书
  8. 1.96 MB  |  2次下载  |  免费
  9. 5FS4054H 输入电压范围3.8V~6.8V 输入最大耐压28V 输入过压关闭充电阈值6.8V
  10. 4.22 MB  |  2次下载  |  免费
  11. 6A-68语音处理模组规格书V1
  12. 1.47 MB  |  1次下载  |  免费
  13. 7A-29P回音消除模块
  14. 1.42 MB  |  1次下载  |  免费
  15. 8瑞芯微RK3562开发板资料-飞凌嵌入式
  16. 2.80 MB  |  1次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935137次下载  |  10 积分
  3. 2开源硬件-PMP21529.1-4 开关降压/升压双向直流/直流转换器 PCB layout 设计
  4. 1.48MB  |  420064次下载  |  10 积分
  5. 3Altium DXP2002下载入口
  6. 未知  |  233095次下载  |  10 积分
  7. 4电路仿真软件multisim 10.0免费下载
  8. 340992  |  191469次下载  |  10 积分
  9. 5十天学会AVR单片机与C语言视频教程 下载
  10. 158M  |  183361次下载  |  10 积分
  11. 6labview8.5下载
  12. 未知  |  81608次下载  |  10 积分
  13. 7Keil工具MDK-Arm免费下载
  14. 0.02 MB  |  73836次下载  |  10 积分
  15. 8LabVIEW 8.6下载
  16. 未知  |  65991次下载  |  10 积分