- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
如题,没一点操作系统知识,也没一点硬件知识,该如何入手?看C相关的书好象不会有多大提高,好多深层次的东西都不懂,深有感触。
谈谈我的观点:如何学好嵌入式系统中的C语言编程
第一、真正深刻地认识存储器
冯诺伊曼说过“程序等于算法加数据结构”,算法是什么?算法是通过存储在存储器中的程序代码实现的;数据结构又是什么?数据结构是存放在存储器中的各种类型的数据;程序本质上就是处理器通过执行存放在存储器中的程序代码对存放在存储器中的数据进行操作和变换的过程。在这个过程中除了处理器本身外,最核心的环节就是存储器。因为不管是程序的可执行代码还是数据都是存放在存储器中的。撇开代码、变量、数组、指针、结构、堆栈等等这些软件中的各个元素的表象,剩下的本质就是存储器!因此理解C语言的关键是真正
理解存储器。
每一个存储单元都有两个属性,一是存储器里面存放的内容;二是存储器的地址。这个内容可以是代码,也可以是数据,甚至是另一个存储单元的地址(这个时候往往我们称这个存储单元里存放的是一个指针)。对于C程序员而言需要时时刻刻的将存储器的这两个属性牢记于心。
第二、认识和理解嵌入式C编程环境
嵌入式软件开发的一个非常重要的特点就是所谓交叉编译,也就是开发工具运行的环境和被调试的程序不是运行在同一个硬件平台(处理器)上。一般而言编译器、汇编器、链接器等工具链软件以及调试工具都运行在通用的PC机平台上;调试工具通过一定的通信手段将链接器输出的可执行文件下载到嵌入式系统开发板(一般成为目标系统)的存储器中,并通过一定的机制控制和观测目标系统的寄存器、存储器等。这个开发过程往往需要使用多种不同的工具,这些对于初学者而言很容易造成困惑。只有真正理解开发过程中各个环节的作用,
才能对嵌入式系统C编程有深入的认识。
另一个问题是虽然C语言是一门高级语言,但是如果想真正用好C语言,程序员必须对编程过程中所使用的工具非常了解,清楚地知道每个工具的作用以及这些工具与硬件平台的相互关系。比如编译器如何处理全局变量和全局数组的,对于全局变量的处理与局部变量有什么不同?编译器是如何利用堆栈进行传递参数的?又比如C语言的编译器、链接器是如何处理一个项目中多个C文件之间的相互依赖关系的,链接器最终是如何生成可执行文件的?可执行文件的内存映象又是如何安排的?这些问题初看起来似乎与C编程本身没有什么关系,但是一个嵌入式软件的程序员应该对这些问题了如指掌,因为在嵌入式软件的开发过程中程序
员要经常直接和底层的设备与工具打交道。第三、认识和掌握C语言中的常见的陷阱
C语言不是一门面向初学者的编程语言,C语言发明者的初衷是希望设计一种面向编译器和操作系统设计的高级语言,因此C语言中充满了各种各样对于初学者而言的陷阱。这些陷阱一方面来自于C语法本身的灵活性;第二来自于C对存储器边界的不检查,因此非常容易在代码中造成存储器越界访问的问题。在C语言中,最容易出错的地方是与存储器相关的内存访问越界以及内存泄漏的问题,C语言的使用者必须非常小心地规避这些陷阱。
第四、掌握C语言程序设计过程中的调试方法
任何程序在编写的过程中都需要调试,尤其是对于比较复杂的系统而言更是如此。面对程序编写过程中出现的问题,比较现实的观点应该是如何在最短的时间内发现程序错误的根源,修改这个错误,并且吸取教训争取在以后的程序中不再犯同样的错误。在这个环节中最重要也是最需要技巧的工作就是找到问题的根源。事实上,程序的调试是有一定的方法和技巧
的――虽然很少有相关的参考书介绍这方面的内容。
您可能关注的文档
最近下载
- 澳大利亚为子女提供的在职证明范本澳大利亚签证在职证明.pdf VIP
- 电气工程及其自动化技术的智能化应用研究.pdf VIP
- 2014年北京市直机关遴选公务员笔试真题.pdf VIP
- 设备安全管理反思报告.docx VIP
- GBT 43871.1-2024 生态环境损害鉴定评估技术指南 生态系统 第1部分:农田生态系统.pdf VIP
- 2024—2025学年江苏省南京市南京师范大学附属中学高一上学期期中考试生物试卷.doc VIP
- 自来水公司招聘笔试题及答案.doc VIP
- 我国农村居住建筑节能技术研究现状分析.pdf VIP
- 我国绿色建筑的发展现状及趋势.pdf VIP
- 韩国鸡笼山公园东鹤寺建筑空间分析研究.pdf VIP
原创力文档


文档评论(0)