嵌入式系统c 语言编程

嵌入式系统c 语言编程

ID:34098424

大小:392.01 KB

页数:21页

时间:2019-03-03

嵌入式系统c 语言编程_第1页
嵌入式系统c 语言编程_第2页
嵌入式系统c 语言编程_第3页
嵌入式系统c 语言编程_第4页
嵌入式系统c 语言编程_第5页
资源描述:

《嵌入式系统c 语言编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、嵌入式系统C语言编程凌明trio@prochip.com.cn南京博芯电子技术有限公司2006年9月1目录语法大家都学过C吧掌握嵌入式系统C语言编程的切入点了解嵌入式系统C编程环境了解存储器了解C程序的调试了解基于C语言的软件项目组织Copyright2005ProchipElectronicsCo,ltd.AllRightsReserved.Nottobereproducedbyanymeanswithoutpriorwrittenconsent.22006-9-151#include“stdlib.h”应该为

2、>char*test(char*ptr){unsignedchari;应该为unsignedinti;charbuf[8*1024];局部变量太大了,容易造成堆栈溢出;char*p,*q;for(i=0;i<=8*1024;i++)应该为i<8*1024;buf[i]=0x0;p=malloc(1024);if(p==NULL)returnNULL;q=malloc(2048);if(q=NULL)returnNULL;应该为q==NULL;应该先释放p,再返回;memcpy(p,ptr,1024);Ptr是否为空未检查;memc

3、py(q,ptr,2048);应该为ptr+1024;memcpy(buf,p,1024);buf=buf+1024;数组名不能赋值;memcpy(buf,q,2048);free(p);free(q);returnbuf;返回局部变量指针非常危险;}Copyright2005ProchipElectronicsCo,ltd.AllRightsReserved.Nottobereproducedbyanymeanswithoutpriorwrittenconsent.32006-9-15以下程序是一个中断处理程序ISR,看看有什么

4、问题?__interruptdouble中断处理程序不能有返回值compute_area(doubleradius)中断处理程序不能有入口参数{doublearea=PI*radius*radius;嵌入式系统中浮点运算太耗时printf("Area=%f",area);Prinft函数太耗时returnarea;另外浮点运算和库函数还存在重入的问题}Copyright2005ProchipElectronicsCo,ltd.AllRightsReserved.Nottobereproducedbyanymeanswithoutp

5、riorwrittenconsent.42006-9-152简单小结一下!会C语法与会用C语言写程序是两个概念C的灵活性以及由此而产生的陷阱非常非常多TheMostBeautifulLanguageandMostDangerousLanguageintheProgrammingWorld!inta=0,b=0,c=0;inta=0,b=0,c=0;(*(void(*)())0)();(*(void(*)())0)();c=a+++++b;c=a+++++b;Copyright2005ProchipElectronicsCo,ltd

6、.AllRightsReserved.Nottobereproducedbyanymeanswithoutpriorwrittenconsent.52006-9-15了解嵌入式系统C编程环境63面向嵌入式系统的软件开发环境软件设计软件设计交叉开编辑编译器发环境环境DebuggerIDE汇编器(调试,跟踪)项目串口,并口,管理liber连接器以太网,USB转换程序仿真器(ICE)烧结程序目标板Copyright2005ProchipElectronicsCo,ltd.AllRightsReserved.Nottobereproduc

7、edbyanymeanswithoutpriorwrittenconsent.72006-9-15C源文件汇编源文件makefile.cfile.sfileC编译器file.lstfile.s汇编器errorsLiberfile.o操作系统库标准C库Linkerfile.libOSlibANSIlibfile.xrffile.out调试工具转换工具二进制文件目标系统烧结工具Copyright2005ProchipElectronicsCo,ltd.AllRightsReserved.Nottobereproducedbyanyme

8、answithoutpriorwrittenconsent.82006-9-154编译器和汇编器的作用编译器将C文件转换成为汇编文件汇编器将汇编文件转换成为二进制指令流*.o文件(目标文件)每个目标文件是独立编址的,也就是说每个目标文件的第一条指令

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。