找回密码
 注册
关于网站域名变更的通知
查看: 345|回复: 1
打印 上一主题 下一主题

利用DSP/BIOS实现滴答时钟及烧写Flash(下)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-13 10:48 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
DSP/BIOS操作系统启动过程
. H# Y$ ^% i* A4 J
3 J5 a7 X- e! u" y

7 Y! e9 s  Y4 ^其实在上一篇中已经讲过DSP/BIOS的启动过程,这里不妨再唠叨一下:2 G3 [& J- K3 A( X  u7 p3 M$ D

$ ?5 m$ |, F$ P2 m9 [. g& r
0 U# h' |& e+ O1 R7 n
  • 系统上电复位,从Flash装载完程序后,首先从C/C++环境入口_c_int00开始执行
  • 利用.cinit记录初始化.bss段
  • 调用BIOS_init初始化用到的各个模块
  • 处理.pinit表,如C++中的全局对象的构造函数就在这个时候执行
  • 进入main函数执行
  • main函数返回,调用BIOS_start启动DSP/BIOS操作系统9 a" n) o; R6 \0 Y0 ~/ ^

" [2 C( L0 \. [& O, A7 K/ ^# O2 {9 j( l
, j4 m+ e9 `* O& ]. A. J- {
其实除了其中第1步对我们烧写Flash有指导意义外,其它各步骤都是无关紧要的(当然,仅就这里讨论的问题而言)。基于此,这里烧写Flash的思路就是:在系统复位后,程序跳转到_c_init00之前,写一段从Flash拷贝应用程序到内存的代码就好了!
3 J  `* J1 T' V* w7 x( D
  B  b& b* Q; G2 n2 W6 ~0 c$ t迁移到操作系统的Flash烧写
' q7 c- F3 E# g+ Y6 k* W. {) P7 o1 G2 x8 ~7 H

8 N; G: i. j2 c- m; T3 L/ ~& p在之前“TMS320C6713烧写Flash的通用方法”一文中,已经详述了如何烧写裸机的代码,这里只需要对DSP/BIOS工程做很少的改动,就可无缝的将之前的烧写方法用在这里,下面还是按步骤来,主要描述一些不同的地方(这样清晰些):
4 X2 @2 B& k9 @! ~9 g- C+ Q( t0 E
& N4 f4 a4 d5 F7 ~  W

, L7 P; d& ^7 c* [7 W% R: h7 W
游客,如果您要查看本帖隐藏内容请回复

2 X7 r$ N. T2 D2 K, B+ h/ ^3 i, R" u, j) z

该用户从未签到

2#
发表于 2019-8-13 18:43 | 只看该作者
学习一下,谢谢楼主分享。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-11-24 21:29 , Processed in 0.171875 second(s), 27 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表