dsp启动过程理解..docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
上电复位reset 0x3fffc0,内容是initboot (bootrom 程序) 参见init_boot.asm文件 入口: _InitBoot: ; Initalize the stack pointer. __stack: .usect .stack,0 MOV SP, #__stack ; Initalize the stack pointer ; Initalize the device for running in C28x mode. C28OBJ ; Select C28x object mode C28ADDR ; Select C27x/C28x addressing C28MAP ; Set blocks M0/M1 for C28x mode CLRC PAGE0 ; Always use stack addressing mode MOVW DP,#0 ; Initialize DP to point to the low 64 K CLRC OVM ; Set PM shift of 0 SPM 0 ; Decide which boot mode to use LCR _SelectBootMode ; Cleanup and exit. At this point the EntryAddr ; is located in the ACC register BF _ExitBoot,UNC 出口函数: _ExitBoot: ; ; Insure that the stack is deallocated ; MOV SP,#__stack ; ; Clear the bottom of the stack. This will endup ; in RPC when we are finished ; MOV *SP++,#0 MOV *SP++,#0 ; ; Load RPC with the entry point as determined ; by the boot mode. This address will be returned ; in the ACC register. ; PUSH ACC POP RPC ; ; Put registers back in their reset state. ; ; Clear all the XARn, ACC, XT, and P and DP ; registers ; ; NOTE: Leave the device in C28x operating mode ; (OBJMODE = 1, AMODE = 0 ; ZAPA MOVL XT,ACC MOVZ AR0,AL MOVZ AR1,AL MOVZ AR2,AL MOVZ AR3,AL MOVZ AR4,AL MOVZ AR5,AL MOVZ AR6,AL MOVZ AR7,AL MOVW DP, #0 ; ; Restore ST0 and ST1. Note OBJMODE is ; the only bit not restored to its reset state. ; OBJMODE is left set for C28x object operating ; mode. ; ; ST0 = 0x0000 ST1 = 0x0A0B ; 15:10 OVC = 0 15:13 ARP = 0 ; 9: 7 PM = 0 12 XF = 0 ; 6 V = 0 11 M0M1MAP = 1 ; 5 N = 0 10 reserved ; 4 Z = 0 9 OBJMODE = 1 ; 3 C = 0 8 AMODE = 0 ; 2 TC = 0 7 IDLESTAT = 0 ; 1 OVM = 0 6 EALLOW = 0 ; 0 SXM = 0 5 LOOP = 0 ; 4 SPA = 0 ; 3 VMAP = 1 ; 2 PAGE0 = 0 ; 1 DBGM = 1 ; 0 INTM = 1 ; MOV *SP++,#0 MOV *SP++,#0x0A0B POP ST1 POP ST0 ; ; Jump to the EntryAddr as defined by the ; boot mode selected and continue execution ; LRETR ;eof initboot 选择上电引导方式 分别跳到入口地址 280x_boot.h #define FLASH_ENTRY_POINT 0x3F7FF6 #define OTP_ENTRY_POINT 0x3D7800 #define RAM_ENTRY_POINT 0x0

文档评论(0)

_______ + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档