EDA365电子论坛网
标题:
DSP 远程升级 / Bootloader设计指南(三)了解一下CMD文件与DSP存储空间
[打印本页]
作者:
mytomorrow
时间:
2019-9-30 09:39
标题:
DSP 远程升级 / Bootloader设计指南(三)了解一下CMD文件与DSP存储空间
目录
' W& l8 D) u8 [
- ^. J1 [$ F3 S3 m
1
# H" r2 Q1 A1 @3 |4 m3 t
初识Bootloader
) X2 ]3 M8 x* p' X1 ?' ?& q- ~" Z, f
# d9 K0 T9 Q) H5 y- c' v: P4 J9 i
1.1 一次Bootloader
1 P* N! b8 o; r
3 j& D# [6 a6 z0 B" O o1 r
1.2 二次Bootloader
7 B* z& Y' E E3 y& G
& k: u( ]6 p7 \/ `7 A& Q3 ^
1.3
DSP
上电引导过程
8 X& _- I- K. b- _ Z/ m0 o
A( e. p I) P q. y/ N2 S
2
/ i) Q3 Z% }0 P4 ]
关于c_int00
9 M: S! x; A6 |. X7 V# H
* E: k: A3 H( `: Y) n
2.1 c_int00完成的工作
8 ]. j5 n8 W" ^) C1 Y
% R/ x" z5 B( o
2.2 系统初始化
# n) B2 ]! r. [3 B; @. N& V! k
6 T' w+ _8 }- @
2.3 全局变量初始化
3 c+ N; C5 O6 ], [# |
6 F" H0 b) H# j6 c9 v' L
2.4 全局对象构造
( E8 J3 S4 e$ W" Z: l
6 F% m$ C+ T5 ^- f5 j: p) U' z
2.5 m
AI
n函数与exit函数的调用
4 t$ y( P- \) {7 |
3 |) m' y& H% }/ X& [4 c' I" ^3 x' D
3
+ j+ u2 W/ o$ `5 S
CMD文件与DSP存储空间
* p% w4 k/ H/ Q% d8 n0 P! L; i( N
) j$ a# W8 l1 P' W. ~& ]
3.1 MEMORY和SECTIONS指令
7 }! R0 u6 K+ S: {5 v# y' e& b! O
" v8 k8 z( |6 h- M6 O% d0 `
3.2 程序与数据“段”
$ V0 u7 y& Q2 O
; ]. Y3 j5 p @, l0 s
4
& \# F. p. e. {
Bootloader数据流
) d- z5 U x( j6 r# k- A1 ~% B; c
' C; N3 O4 p$ q8 Y9 Z% T
4.1 数据流结构
4 K; S% s$ W* n3 z# c3 ^8 ~* J
/ D$ e' B& r }# H6 a9 R
4.2 16-bit数据流
( e/ o4 j1 f% n. o' N" A
) ?4 k1 {# H# V+ f( M1 e
4.3 8-bit数据流
$ J# I: m P! v, T
) t& j9 w# K, H" Z% V5 o& Q
5
9 q8 _1 P5 d2 A; e+ g
FLASH擦写操作 —— FLASH API的使用
5 f0 s" a' s' ]6 S
) j: G7 T( E7 R4 q1 V
5.1 FLASH操作的重要特点
( l% b/ a4 w6 R, _5 d
/ |" j9 Z; Q: `8 A" ]* \" t
5.2 FLASH API使用步骤
8 ^; w/ R4 G) |* [9 g6 {. r
6 s1 r4 a/ [& _* q
5.3 FLASH API常用函数使用举例
" y# A `% a" B h, _1 |
. ]2 J3 v3 K3 O9 R4 y5 [3 l- R& g3 y7 \
6
* c) W) {# o7 r: u
Bootloader设计过程中的9大关键点
! I5 A1 X2 P* w+ p p+ d5 V
9 J8 J4 O+ l4 L
6.1 Bootloader程序在升级过程中不被擦除的实现方法
# B0 f! F% x" G% l8 S2 F
/ h9 a/ t7 j/ a9 w4 B" U
6.2 上电后先进入Bootloader再跳转至mAIn()函数的实现方法
, x! r4 `5 P6 a6 l% r/ E6 {
z; `& n$ X* V% k k" F
6.3 Bootloader程序作为CCS应用程序工程一部分的实现方法
0 Q$ Y6 K6 r$ X' ~! m) ~/ w+ n$ h
2 e) w/ V" x# w# P1 m
6.4 Bootloader与上位机形成交互式通信
; Y# p; u8 w7 a0 J& h* W0 X
' n4 \+ }, ~# `# T
6.5 Bootloader程序能够对接收数据校验的实现方法
6 j$ ?( Q1 O7 L
( Q- H' T( k7 t* T; }# z" U
6.6 在数据出错等情况下能够自动重启的实现方法
( i3 |% a7 E+ B0 h
' t J. c2 M5 Y% n) r& s
7
* f. X- m+ {7 r7 M- f5 |
CCS输出文件格式 —— ASCII-Hex、Intel-Hex与Binary-Hex文件
+ J0 B8 m1 X, [, I8 m, p, r
7 K& x& l; Y( Z. d+ Q/ a t
7.1 CCS配置生成Hex文件的方法
; e+ O+ m1 l& |/ L% J6 F# a3 _
; ~3 a3 o# H9 ]4 q" L
7.2 ASCII-Hex
" E( a! B5 [3 Y7 ]
6 T) Q8 P! S& V e
7.3 Intel-Hex
0 b# a" D2 ^6 z8 ]% p) [0 _; `" K
( K* S, u1 s8 J' h& A( a
7.4 Binary-Hex
3 f& ]- {/ d1 ^- p& J; V
5 P+ L8 u0 r8 ?
4 [+ u2 L5 b+ Q+ S# C5 z
4 b4 q* z( ] W
" }/ @% y/ s4 Z$ h. C2 q# Z
0 p6 r- E9 T) |3 N1 [% v5 `
3 CMD文件与DSP存储空间
% O8 \; Z, H9 M7 w
4 w7 X2 ]' h7 h; |8 b; V8 y. H
CMD的全称为链接命令配置文件。以ROM/FLASH和RAM两类存储器为对象,用户通过编写CMD文件,来管理和分配系统中的所有物理存储器和地址空间。DSP芯片的片内存储器,只要没有被出厂占用,用户都可以全权支配。用户编写完的程序经过开发环境(编译器)的编译,转换为芯片可以识别的机器码,最后下载到芯片中运行。CMD文件就是在编译源程序、生成机器码的过程中挥作用的,它作为用户的命令或要求,将物理存储器和地址空间分配方式交给编译器去执行。
' {* s& O) r* O& L( I: b* o: |
& ]1 q$ t8 O* l8 V3 I+ [5 _
CMD文件包括两方面的内容:
/ l! A5 X9 v$ O1 [2 Z8 T4 j
' T s9 V- e; j5 h' a+ R
1) 用户声明系统的存储器资源。包括DSP芯片自带、外扩的存储器和空间,都要一一声明:有哪些存储器、位置和大小。
0 J2 v+ |- p+ {7 H+ S
1 c$ d0 H- d" v3 o1 o" b, u7 t
2) 用户声明资源分配情况。这是编写CMD文件的重点。
" p& E4 V, B$ ]& U z" Y e
5 f. z) x6 C; L8 \ k$ k
3.1 MEMORY和SECTIONS指令
* ?( w/ M( |9 ~$ c4 h
: T& b1 o& Y0 @. m! D& \' ]0 k
# o5 x* O9 J5 J+ K/ \! ^
8 \% E* @' a6 _& V1 P# f( U
8 T+ u* y! e6 u# d& h8 F( ~8 e
8 r+ d" u6 ^" Z8 ^, b6 c
0 t3 M) }# i) D, t
3 h3 o5 F" K7 P A* p+ g6 s) n
作者:
lienmalianNW
时间:
2019-10-7 21:36
cmd文件对于DSP来说太重要了,谢谢分享
作者:
lienmalianNW
时间:
2019-10-7 21:55
cmd文件对于DSP来说太重要了,谢谢分享
作者:
金木
时间:
2019-10-10 09:22
谢谢楼主的分享
6 ~0 {9 D1 T( o+ K0 n1 E
作者:
依利达
时间:
2020-2-22 14:33
讲解透彻,值得研究
* A$ @( _6 h5 X; `: F, v
欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/)
Powered by Discuz! X3.2