EDA365电子论坛网
标题:
利用DSP/BIOS实现滴答时钟及烧写Flash(下)
[打印本页]
作者:
mytomorrow
时间:
2019-8-13 10:48
标题:
利用DSP/BIOS实现滴答时钟及烧写Flash(下)
DSP/BIOS操作系统启动过程
7 L4 \" ~0 X' o6 J
2 [! R# q6 s4 n5 h9 k; G7 A4 q# L+ p' G
/ A6 Y; V+ N, O0 H
其实在上一篇中已经讲过DSP/BIOS的启动过程,这里不妨再唠叨一下:
3 t8 }& N- R( f' D0 A" b
D! e1 S9 v6 g$ @
, I' f1 u9 |1 ]; F' p" W
系统上电复位,从Flash装载完程序后,首先从C/C++环境入口_c_int00开始执行
利用.cinit记录初始化.bss段
调用BIOS_init初始化用到的各个模块
处理.pinit表,如C++中的全局对象的构造函数就在这个时候执行
进入main函数执行
main函数返回,调用BIOS_start启动DSP/BIOS操作系统
; y) v2 F8 y, b& i3 y9 X
$ p5 h4 j7 V$ S
) H* b9 l' D( K8 D0 V
1 o; ^6 ~. {) {" ]% [* U7 u5 U
其实除了其中第1步对我们烧写Flash有指导意义外,其它各步骤都是无关紧要的(当然,仅就这里讨论的问题而言)。基于此,这里烧写Flash的思路就是:在系统复位后,程序跳转到_c_init00之前,写一段从Flash拷贝应用程序到内存的代码就好了!
# k O4 T2 Z' n" J8 R, e
4 {/ ^0 m5 D3 }0 y$ q& |+ d
迁移到操作系统的Flash烧写
5 L2 L( h, K" c( p {
`- I4 M9 c3 w# l% @
5 u& e8 t' D8 v4 ~7 r) a, r! L
在之前“TMS320C6713烧写Flash的通用方法”一文中,已经详述了如何烧写裸机的代码,这里只需要对DSP/BIOS工程做很少的改动,就可无缝的将之前的烧写方法用在这里,下面还是按步骤来,主要描述一些不同的地方(这样清晰些):
2 m; X6 p+ t( V' U
( M0 z9 q' X& ]+ q) T( s0 P
, \3 B" K! [% w& E/ P! Z, f
^- e) h0 Z. l1 Y
3 {8 }' M4 U3 N
作者:
artic
时间:
2019-8-13 18:43
学习一下,谢谢楼主分享。
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2