- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第5章 设计实例精讲
第5章 设计实例精讲 第5章 设计实例精讲 1.最小引导系统及UART开发实例 2.中断处理开发实例 3.IIS设计开发 5.1 最小系统及UART开发实例 5.1最小系统及UART开发 固态硬盘 UART接口电路 UART是通用异步收发器的简称 连接两个计算机系统的简单而且低成本的串行接口 具有工业标准的异步数据通讯接口 比高速的串行通讯更加稳定可靠 所需的通讯线路比并行传输少 可进行长距离传输 (RS232=50英尺,RS485为4千英尺) UART是如何运作的? 各种系统间互相通讯的手段 UART发送端 从发送处理器处获取数据并逐位把每个字节发送出去 UART接收端 每次接收一个位,然后把接收到的位拼接成数据发送给接收处理器 在UART的发送和接收过程中 能够检测到通讯的错误 大幅的减轻了处理器在管理通讯信道方面的任务负担 5.1.2 软件开发 1 工程文件组织 2 代码分析 软件完成功能设计: 1)引导系统启动 2)以115200波特率接受上位计算机的串口数据,并转发给上位显示 (1) 软件模块插件安装步骤 (2) 软件工程建立 (3) 打开工程 (4) 编写用户程序 (5) 编译及测试程序 最基本boot程序FirstBoot工程代码 1, 44binit.s 1)常数定义 2)MACRO定义 $HandlerLabel HANDLER $HandleLabel 3)IMPORT ADS环境定义 4) ENTRY 汇编入口(AREA Init,CODE,READONLY) 5) VECTOR_BRANCH 向量表 6) LTORG 用于声明一个数据缓冲池,(也称为文字池)的开始。 1, 44binit.s 7)非矢量中断处理 8)ResetHandler处理 9) Set clock control registers 10) Set memory control register 11) 初始化堆栈 12) 设置IRQ handler 1, 44binit.s 13) 设置IRQ handler 14) RW data/zero initialized data 15)跳转到C-Main()函数 ---其它数据区定义 a,RAM及ROM区存储安排 RAM地址范围(0x0c00 0000~0x0c7f ffff) ROM地址范围(0x0000 0000~0x001f ffff) RAM地址安排 1 中断向量区 _ISR_STARTADDRESS (0x0c7f ff00~0x0c7f ff84) 2 中断向量区 (_ISR_STARTADDRESS-9216-16) UserStack # 4096 ;c1(c7)ffa00 SVCStack # 1024 ;c1(c7)ffb00 UndefStack # 1024 ;c1(c7)ffc00 AbortStack # 1024 ;c1(c7)ffd00 IRQStack # 2048 ;c1(c7)ffe00 FIQStack # 0 ;c1(c7)fff00 RAM地址安排 3 RW 和 ZI 数据区 LDR r1, =|Image$$RW$$Base| ;由RW base 地址指定 LDR r3, =|Image$$ZI$$Base| RAM地址安排 |Image$$RW$$Base|;由RW base 地址指定 |Image$$RW$$Limit| =|Image$$RW$$Base|+ RW Data |Image$$ZI$$Base| = |Image$$RW$$Limit| + 1 |Image$$ZI$$Limit| = |Image$$ZI$$Base| + ZI Data ROM地址安排 LDR r0, =|Image$$RO$$Limit| ; Get pointer to ROM data ROM地址安排 |Image$$RO$$Base| = Image entry point |Image$$RO$$Limit|=程序代码起始地址+代码长度+1 44binit.s 运行流程分析 /************************************************ * NAME : MAIN.C * * BY : Wang Jianping * DESC : C程序的入口主程序,用户相关开发均在该文件开始 * Version : 2008-09-12 * **********************************************
原创力文档


文档评论(0)