C语言编程09.pdf
文本预览下载声明
《单片机与嵌入式系统》
C 语言编程
清华大学电子工程系
2009年3月
C 语言编程
•特点:相对于汇编程序来讲
–结构化语言
– 自动管理变量,支持复杂数据类型
––可读性和移植性好可读性和移植性好
–具有丰富的库函数
–执行时间稍长
•趋势:使用C语言和汇编语言混合编程来开
发单片机应用程序
C 程序若干问题— — (1) 内存的分配
M30626FJPGP的内存分RAM和ROM两个区。
每个区定义了若干个SECTION。
RAM - DATA - data
bssbss
stack
heap
ROM - CODE - program
ROMDATA - rom
vector
fvector
M30626FJPGP 的内存配置
NC编译器对Section的处理
Section的属性
属性:I (是否初值), N/F (是否扩展区),
S (SB寻址区), E/O (偶地址对齐)
举例:bss_SE, bss_NE, data_FE, data_SEI
C程序中所有的section列表
data_SE
bss_SE rom_NE
data_SO rom_NO
bss_SO rom_FE
data_NE rom_FO
bss_NEbss_NE data_SEIdata_SEI programprogram
DATA data_NO ROMDATA data_SOI CODE interrupt
bss_NO data_NEI program_S
stack data_NOI
heap data_FEI
data_FE data_FOI
bss_FE vector
data_FO fvector
data_FE
C 程序若干问题— — (2) C程序结构
• 可能包括多个asm文件, C文件
– Startup文件
• sect30.inc
•• ncrt0.a30n
显示全部