找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2646|回复: 2
收起左侧

C语言与嵌入式开发

[复制链接]
ID:99624 发表于 2015-12-20 03:08 | 显示全部楼层 |阅读模式
      

     1,什么是内存对齐?为什么要内存对齐?//内存池(4字节对齐)
   __align(4) u8 mem1base[MEM1_MAX_SIZE];       //内部SRAM内存池
   __align(4) u8 mem2base[MEM2_MAX_SIZE] __attribute__((at(0X68000000)));
2,内存分为哪五个区?总的来说内存分为ROM,RAM这两类,指令在cpu中怎么被执行的?
3,我们的C语言代码通过MDK编译器是怎么变成HEX可执行文件的?编译过程是哪几步?
4,MDK编译器生成的map文件有哪些信息?
5,为什么说中断是CPU的硬件资源?
6,堆栈,队列如何操作?它们有什么优势?

  上面这些问题都与C语言有关,作为一种接近底层的高级语言学好它对嵌入式开发的帮助非常大,几乎所有的底层开发都是应用C语言。什么是编程,我的理解是:以事物的逻辑关系与存储关系为导向的数据结构设计与存储问题;说白了就是如何设计数据结构,如何操作这些数据结构的问题。内存是个线性结构,如何高效操作这些线性结构,都与C语言有关。

  比如,计算机的各种操作系统不光算法精妙同时都大量运用了C语言链表,指针,函数回调方面的知识;比如,emwin,GUI图形界面程序就大量的函数指针与函数回调;比如,嵌入式FAT32文件系统的文件操作函数几乎与C语言文件部分函数操作原理相同,也就是说学好了C语言文件部分内容,再来学习FAT32文件系统就so easy了!

      玩了几年单片机,越玩越糊涂。虽然能自己设计一些项目,实现一些功能,但是终究还是感觉有很多很多问题“知其然而不知其所以然”。相信绝大多数的学习者都有这种感受,否则绝不是一个真正的技术人;相信只有一定程度深入学习的人才会有这种感觉。

  我更愿意花大量的时间来加强这些基本功的学习,虽然这些东西貌似枯燥,但是真正深入学习了C语言之后才能感受C语言的魅力C语言的美。基本功扎实了,很多困扰的问题也就迎刃而解了。

  有感而发,随便尿几句,装装逼。
  ---------GKXW--------


回复

使用道具 举报

ID:97249 发表于 2015-12-24 10:48 | 显示全部楼层
还没达到LZ的境界,还是赞个!
回复

使用道具 举报

ID:106794 发表于 2016-6-1 15:18 | 显示全部楼层
赞一个!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表