找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3042|回復: 2
收起左側

C語言與嵌入式開發(fā)

[復制鏈接]
ID:99624 發(fā)表于 2015-12-20 03:08 | 顯示全部樓層 |閱讀模式
      

     1,什么是內(nèi)存對齊?為什么要內(nèi)存對齊?//內(nèi)存池(4字節(jié)對齊)
   __align(4) u8 mem1base[MEM1_MAX_SIZE];       //內(nèi)部SRAM內(nèi)存池
   __align(4) u8 mem2base[MEM2_MAX_SIZE] __attribute__((at(0X68000000)));
2,內(nèi)存分為哪五個區(qū)?總的來說內(nèi)存分為ROM,RAM這兩類,指令在cpu中怎么被執(zhí)行的?
3,我們的C語言代碼通過MDK編譯器是怎么變成HEX可執(zhí)行文件的?編譯過程是哪幾步?
4,MDK編譯器生成的map文件有哪些信息?
5,為什么說中斷是CPU的硬件資源?
6,堆棧,隊列如何操作?它們有什么優(yōu)勢?

  上面這些問題都與C語言有關,作為一種接近底層的高級語言學好它對嵌入式開發(fā)的幫助非常大,幾乎所有的底層開發(fā)都是應用C語言。什么是編程,我的理解是:以事物的邏輯關系與存儲關系為導向的數(shù)據(jù)結構設計與存儲問題;說白了就是如何設計數(shù)據(jù)結構,如何操作這些數(shù)據(jù)結構的問題。內(nèi)存是個線性結構,如何高效操作這些線性結構,都與C語言有關。

  比如,計算機的各種操作系統(tǒng)不光算法精妙同時都大量運用了C語言鏈表,指針,函數(shù)回調(diào)方面的知識;比如,emwin,GUI圖形界面程序就大量的函數(shù)指針與函數(shù)回調(diào);比如,嵌入式FAT32文件系統(tǒng)的文件操作函數(shù)幾乎與C語言文件部分函數(shù)操作原理相同,也就是說學好了C語言文件部分內(nèi)容,再來學習FAT32文件系統(tǒng)就so easy了!

      玩了幾年單片機,越玩越糊涂。雖然能自己設計一些項目,實現(xiàn)一些功能,但是終究還是感覺有很多很多問題“知其然而不知其所以然”。相信絕大多數(shù)的學習者都有這種感受,否則絕不是一個真正的技術人;相信只有一定程度深入學習的人才會有這種感覺。

  我更愿意花大量的時間來加強這些基本功的學習,雖然這些東西貌似枯燥,但是真正深入學習了C語言之后才能感受C語言的魅力C語言的美;竟υ鷮嵙,很多困擾的問題也就迎刃而解了。

  有感而發(fā),隨便尿幾句,裝裝逼。
  ---------GKXW--------


回復

使用道具 舉報

ID:97249 發(fā)表于 2015-12-24 10:48 | 顯示全部樓層
還沒達到LZ的境界,還是贊個!
回復

使用道具 舉報

ID:106794 發(fā)表于 2016-6-1 15:18 | 顯示全部樓層
贊一個!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表