电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

第六讲系统初始化

26页
  • 卖家[上传人]:创****公
  • 文档编号:600968775
  • 上传时间:2025-04-22
  • 文档格式:PPT
  • 文档大小:384KB
  • / 26 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、单击以编辑,母版标题样式,单击以编辑母版文本样式,第二级,第三级,第四级,第五级,BIT/TI,第六讲 系统初始化,*,第六讲系统初始化,BIT/TI,1,第六讲 系统初始化,学习内容,一、数据初始化,汇编程序的数据初始化,C,程序的数据初始化,二、程序复位,汇编程序的复位,C,程序的复位,BIT/TI,2,第六讲 系统初始化,一、数据初始化,.,sect,myData,m.short 10,x.short 5,b.short 2,y.short 0,.,sect,myCode,init,:,mvk,.s1 m,A0,mvkh,.s1 m,A0,.,.,b$;endless loop,nop,5,RAM,内的变量,m,x,b,y,如何初始化?,汇编程序,y=,mx,+b,BIT/TI,3,第六讲 系统初始化,数据初始化方法,1.调试器加载程序(,loader),自动完成,2.人工初始化在应用程序前插入,数据初始化,程序段,MVK,MVKH,STW,3.,拷贝法,数据从,ROM,拷贝到,RAM,BIT/TI,4,第六讲 系统初始化,1、用,Loader,完成数据初始化,用,.,short

      2、,.word,等汇编指令生成变量及其初始值,连接器为这些变量分配地址,调试器从,.,out,文件中读取变量初值,通过主机接口,放入目标存储器中相应的变量地址,程序开发阶段使用,,不适用于嵌入式系统,BIT/TI,5,第六讲 系统初始化,2、人工初始化,在应用程序前插入数据初始化程序段,.,sect,myData,m.short 10,x.short 5,b.short 2,y.short 0,MVKm,A0,MVKHm,A0,STH10,*A0,.,.,.,缺点:每个数据的初始化要用,三条指令,占用很大程序空间,BIT/TI,6,第六讲 系统初始化,人工初始化法原理,“,init,_code”,数据初始化代码,“,code”,应用程序,ROM,“,dat,”,数据变量,RAM,存储器,MVK,MVKH,ST,BIT/TI,7,第六讲 系统初始化,3、拷贝法,变量声明,数据初始化,算法代码,BIT/TI,8,第六讲 系统初始化,拷贝法原理,变量初值,变量,在嵌入式系统内,变量,初值必须存放在,ROM,内,BIT/TI,9,第六讲 系统初始化,三种方法比较,Loader,法:只适用于系统开

      3、发阶段,不能用于独立的嵌入式系统,人工初始化法:占用程序存储空间大,拷贝法:最优,BIT/TI,10,第六讲 系统初始化,拷贝法使用步骤,1.常量定义,2.定义变量,3.变量初始化,4.数据段分配:在连接器命令文件内做*.,cmd,BIT/TI,11,第六讲 系统初始化,第一步:常量定义,伪指令.,int,,.short,.byte,BIT/TI,12,第六讲 系统初始化,第二步:变量定义,用于定义用户的未初始化数据段,BIT/TI,13,第六讲 系统初始化,汇编器产生的三个默认段,汇编代码,ROM,数据常量,ROM,数据变量,RAM,变量也可以定义在默认段.,bss,内,.,bss,var,2,BIT/TI,14,第六讲 系统初始化,第三步:变量初始化,循环拷贝,table,变量初值表首地址,m,需要初始化的变量首地址,应用程序开始地址,BIT/TI,15,第六讲 系统初始化,第四步:数据段分配,BIT/TI,16,第六讲 系统初始化,C,程序内的数据初始化,变量声明,数据初始化,算法代码,BOOT.C,C,编译器初始化程序,连接器选项-,c,或-,cr,+,rts6201.lib,

      4、则连接器会自动连接,BOOT.C,C,编译器自动完成,BIT/TI,17,第六讲 系统初始化,C,编译器产生的默认段,BIT/TI,18,第六讲 系统初始化,C,初始化所用到的段,C,编译器所产生的两个默认段,变量初值(常量)“.,cinit,”,变量,“.,bss,”,记住在连接器命令,文件内分配地址!,BIT/TI,19,第六讲 系统初始化,二、程序复位,C62xx,复位向量,0,1,2,应用程序,BIT/TI,20,第六讲 系统初始化,汇编程序复位,BIT/TI,21,第六讲 系统初始化,复位程序,.,sect“vectors”,labelB.S1 start,nop,nop,nop,nop,nop,nop,nop,Start,应用程序开始地址,跳转指令有5个延迟间隙,复位向量必须占满一个取指包,BIT/TI,22,第六讲 系统初始化,连接器命令文件,复位代码必须放在0地址,BIT/TI,23,第六讲 系统初始化,C,程序的复位,复位向量必须调用,BOOT.C,b .s1,_c_int00,nop,5,连接时必须加入运行支持库,并使用选项-,c,或-,cr,:,-l rts6201.lib,BIT/TI,24,第六讲 系统初始化,C,代码的复位程序,.,sect“vectors”,reset:B.S1,_c_int00,nop,nop,nop,nop,nop,nop,nop,BIT/TI,25,第六讲 系统初始化,连接器命令文件,c_file.,obj,vectors.,obj,-o c_file.out-m c_file.map,-c,-l rts6201.lib,MEMORY,VECS:org=0,len,=200h,EPROM:org=200h,len,=600h,SBSRAM:o=80000000h,l=4000h ,SECTIONS,.vectors:VECS,.text:,EPROM,.,const,:EPROM,.,cinit,:EPROM,.,bss,:SBSRAM,.stack:SBSRAM,.,sysmem,:SBSRAM ,复位代码必须放在0地址,应用程序,复位程序,BIT/TI,26,第六讲 系统初始化,

      《第六讲系统初始化》由会员创****公分享,可在线阅读,更多相关《第六讲系统初始化》请在金锄头文库上搜索。

      点击阅读更多内容
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.