- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DSP 的 C 语言开发
一、流程步骤:
Resetvectors.asm
Reset
vectors.asm
c_int00
(位于rts.l中ib)
_args_main()
(位于rts.l中ib)
调用main()
1、配置CPU 相关寄存器
2、初始化时钟和PLL
3、配置相关外设寄存器
4、设置中断(一关二设三开)
开始主要程序
返回c_int00
}
下面是 vectors.asm函数,该文件在每个 DSP 的 project中(需手工加入),其中有对_c_int00的调用,而_c_int00 在 rts.li中b,在开发时要手工加入。在 reset后,rom 等外存中的程序已经转移到了 L2 cache中,并且程序从 0x0000 0000
处开始执行,而0x0000 0000处的程序正是 vectors.as,m用,进入 main 函数。
======== vectors.asm ========
以下就开始层层调
; Plug in the entry point at RESET in the interrupt vector table
;
;
; ======== unused ========
; plug inifinite loop -- with nested branches to
; disable interrupts -- for all undefined vectors
;
unused .macro id
.global unused:id: unused:id:
b unused:id: ; nested branches to block interrupts nop 4
b unused:id:
nop nop nop nop nop
.endm
.sect .vectors
.ref _c_int00 ; C entry point
.align 32*8*4 ; must be aligned on 256 word boundary RESET: ; reset vector
mvkl _c_int00,b0 ; load destination function address to b0 mvkh _c_int00,b0
b b0 ; start branch to destination function
mvc PCE1,b0 ; address of interrupt vectors
mvc b0,ISTP ; set table to point here
nop 3 ; fill delay slot nop
nop
;
; plug unused interrupts with infinite loops to
; catch stray interrupts
;
unused 1
unused 2
unused
3
unused
4
unused
5
unused
6
unused
7
unused
8
unused
9
unused
10
unused
11
unused
12
unused
13
unused
14
unused 15
Rts6000.li来b 自于rts6000.sr,该c 原文件是由多个.c和.cpp以及.asm组成的,
其中关于 int _args_main的()函数:这个函数就是 void interrupt c_int0在0(初)
始化完
成后调用的函数, int_args_main()函数中调用了 main(argc,argv) 从而正式转入main 函数。
args_main.c/ 1162235705 0 0 0 1930 `
/******************************************************************************/
/* The ARGS data structure is defined according to a convention*w/ith linker.
/* */
/* If the user want to pass arguments to loader, --args=### op*t/ion has to
/* be used in linking to generate executable. With this option,*/the linker
/* will allocate a section starting with c_args , and with this ### many */
/* bytes. The loader when parses the arguments, wil
您可能关注的文档
- dream的用法归纳分析和总结.docx
- DSC 测试、数据分析步骤及注意事项.docx
- dspace 在linu上的部署分析和总结.docx
- DVD电源板2分析和总结.docx
- DWT系列屋顶风机说明书.docx
- DZJ3-L1激光垂准仪说明书讲解.docx
- D-异抗坏血酸钠使用方法及用量.docx
- E6连接网络分析和总结.docx
- EA888数据流分析和总结.docx
- EAP培训心得体会.docx
- DB53_T 534-2013 云南铁皮石斛.docx
- DB53_T 149.1-2023 小粒种咖啡 第1部分:品种选择.docx
- DB53_T 560.5-2014 蛋鸡健康养殖 第5部分:疫病防治与卫生保健.docx
- DB53_T 526-2013 马铃薯产业技术标准体系.docx
- DB42_T 2029-2023 华山松大小蠹综合防治技术规程.docx
- DB53_T 307-2010 澳洲坚果生产技术规程.docx
- DB53_T 541-2013 板栗丰产栽培技术规程.docx
- DB53_T 687-2015 高油酸油菜籽生产技术规程.docx
- DB53_T 809—2024 代替 DB53_T 809—201 6 物流服务合同 仓储与运输.docx
- DB53_T 868-2018 商贸物流服务质量.docx
最近下载
- 2022基于单片机的大棚温度控制设计文献综述4000字.doc VIP
- 2025年湖南铁道职业技术学院单招职业倾向性考试题库带答案.docx VIP
- J2847_1_201105 国外国际标准.pdf VIP
- 2025年湖南铁道职业技术学院单招职业倾向性考试题库及答案1套.docx VIP
- 2025年沪教牛津版小学一至六年级英语单词汇总(最新)(推荐文档) .pdf VIP
- 广东省职业技能等级认定试卷 模具工(四级)考场、考生准备通知单04.pdf VIP
- 压力容器作业文件.doc VIP
- QC-T620-2023 A型蜗杆传动式软管环箍.pdf VIP
- 物流中心规划.ppt VIP
- 社保基金监督培训课件.ppt
文档评论(0)