嵌入式c编程
无区别,只不过编译器不一样罢了。因为不同的cpu构架有不同的指令集。而嵌入式基本使用RISC结构的cpu,需要使用pc上的cpu编译出在能嵌入式cpu上运行的二进制程序。这叫交叉编译。pc上的程序不可以直接在其他cpu上运行,需要重新编译。
因为编译器不一样,执行的c语言标准就跟编译器相关。
管理内存映射,设置中断系统等在pc上也有,不是嵌入式的专利。
只是做嵌入式里的界面、网络、文件编程的话,跟pc上几乎没有差别,因为有操作系统罩着。如果开发驱动程序,就要求你对所使用的cpu和板子的结构很了解,也就是看得懂硬件手册即可。
另外嵌入式环境同pc的差别 如cpu位数、硬件资源紧缺等是需要程序员考虑的。
B. 宓屽叆寮廲璇瑷
C璇瑷鏄缂栫▼璇瑷锛屽祵鍏ュ纺鏄涓涓琛屼笟锛屽崟鐗囨満鏄涓涓骞冲彴涔熸槸涓涓宸ュ叿锛岃仈绯昏捣𨱒ュ氨鏄锛岀敤C璇瑷缂栬緫鍑轰唬镰侊纴铹跺悗绉绘嶅埌鍗旷墖链轰笂杩愯岋纴涓よ呯粨钖埚仛鍑轰竴涓绋嫔簭锛屾渶钖庣Щ妞嶅埌镆愪竴涓宓屽叆寮忎骇鍝佷笂姣斿傛坠链猴纴MP4锛孧P3绛夌瓑锛岀‘淇濆彲浠ャ
宓屽叆寮忕紪绋嬬敤镄勬渶澶氱殑涔熸槸C璇瑷锛屽拰鏅阃氱殑windows涓嬬殑C缂栫▼涓嶅悓镄勫氨鏄锛屾瘆濡傚簲鐢ㄥ眰寮鍙戯纴宓屽叆寮忓紑鍙戝嚭𨱒ョ殑搴旂敤绋嫔簭链缁堜笉鏄瑕佽繍琛屽湪PC涓 镄勶纴钥屾槸鐩镙囨澘镓浠ュ祵鍏ュ纺寮鍙戝氨涓瀹氢细链変氦鍙夌紪璇戣繖涓鐜鑺傜亩鍗曚竴镣圭悊瑙e氨鏄锛屽湪P銆
鍙堣兘瀹炵幇涓婂眰镄勫簲鐢ㄧ▼搴忓紑鍙戯纴骞朵笖杩愯岄珮鏁埚彲绉绘嶏纴鍑犱箮镓链夌殑镎崭綔绯荤粺搴曞眰镄勫疄鐜扮粷澶ч儴鍒嗛兘鏄浣跨敤C璇瑷𨱒ュ疄鐜扮殑锛屽皯鏁板湴鏂归渶瑕佷娇鐢ㄦ眹缂栬瑷锛屽祵鍏ュ纺璁惧囩殑杩愯岃佹眰鍜孋璇瑷鏄涓𨰾嶅嵆钖埚惂銆
宓屽叆寮忎篃鍒嗗緢澶氱岖殑锛屾嵁鍒涘㈠﹂櫌浠嬬粛锛屾湁纭浠跺仛鑺鐗囩殑涓昏佸FPGAVerilogHDLVHDL璇瑷锛岀‖浠惰捐$数璺镄勬ā鐢+PCB+MCUC璇瑷锛岃蒋浠跺仛镎崭綔绯荤粺椹卞姩镄凛C++璇瑷锛岃蒋浠跺仛镎崭綔绯荤粺搴旂敤镄凛C++璇瑷锛岃蒋浠跺仛BSP镄勚
澹版槑镙煎纺涓 extern type var娉ㄦ剰涓嶅彲浠ユ湁鍒濆嫔寲鍊煎0鏄庡悗锛屽彲浠ュ湪澹版槑璇鍙ュ埌澹版槑璇鍙ユ墍鍦ㄦ枃浠跺熬浣跨敤璇ュ彉閲忎篃鍙浠ュ啓鍦ㄥご鏂囦欢涓锛岃繖镙峰湪寮旷敤璇ュご鏂囦欢镄凛鏂囦欢涓锛屽彲浠ュ湪寮旷敤浣岖疆鍒版枃浠剁粨灏句娇鐢ㄨュ彉閲忋
鏄鎸変綅涓庡弻鐩杩愮畻绗︼纴闇瑕2涓镎崭綔鏁版槸鎸変綅鎴栧弻鐩杩愮畻绗︼綖鏄鎸変綅闱炲崟鐩杩愮畻绗10=0锛 01=0锛 00=0锛 11=1 10=1锛 01=1锛 00=0锛 11=1 ~1=0锛寏0=1 a=b绛変环浜巃=ab钖岀悊a銆
缂栧啓C璇瑷镄勮蒋浠跺彨c璇瑷缂栬疟鍣ㄨ屾敮鎸乧璇瑷镄勭紪璇戝櫒姣旇缉澶氩湪鍗旷墖链虹瓑宓屽叆寮忓紑鍙戜腑链涓昏佺敤镄勬槸keil c 鍦ㄦ垜浠甯哥敤镄剋indows绯荤粺涓嬫渶甯哥敤镄勬槸Visual C++缂栬疟鍣 鍏朵粬镄勮缮链夊緢澶 涓嬮溃鏄痺indows绯荤粺涓嬶纴澶у︽暀瀛︿腑鐩鍓嶅紑鍦ㄣ
鍝 杩欓噷鐢ㄥ埌鏄瀹忓晩涓浜烘槸鍒濆﹁咃纴姣旇缉锽沧㈢洿鎺ュ啓涓鑸杩欑被镎崭綔灏卞寘𨰾涓ょ嶅啓涓缃闆跺拰鍐欎竴缃涓姣斿傛兂瑕0x00000000镄勭浜屼綅缃涓锛屽彉鎴0x00000004镄勮瘽锛屼究鏄0x000000000x1ltlt2灏卞彲浠ヤ简 濡傛灉瑕佷娇寰0x00000004鍙树负0x銆
C. 闆跺熀纭瀛﹀祵鍏ュ纺Linux C缂栫▼鐩褰
闆跺熀纭瀛﹀祵鍏ュ纺Linux C缂栫▼鐩褰曟傝
姝ょ洰褰曟兜鐩栦简浠庡叆闂ㄥ埌娣卞叆镄勫祵鍏ュ纺Linux C缂栫▼鏁欑▼锛屽府锷╁埯瀛﹁呴愭ユ帉鎻$浉鍏崇煡璇嗐
绗涓绡囷细寮鍙戝熀纭
绗1绔狅细浠嬬粛宓屽叆寮忕郴缁熷熀纭鐭ヨ瘑锛屽寘𨰾瀹氢箟銆佺壒镣广佸巻鍙层佸簲鐢ㄩ嗗烟鍙娄笌PC镄勫尯鍒銆
绗2绔狅细璁茶ВLinux鐜澧冧笅C璇瑷镄勫熀纭锛屾秹鍙奀璇瑷锲为【銆佸紑鍙戠幆澧冮厤缃鍜孡inux绯荤粺镎崭綔銆
绗3绔狅细鏋勫缓宓屽叆寮廘inux寮鍙戠幆澧冿纴鍖呮嫭U-Boot绉绘嶅拰鍐呮牳缂栬疟杩囩▼銆
绗浜岀瘒锛氩熀纭缂栫▼
绗4绔狅细C璇瑷缂栫▼锘虹锛屾秹鍙婄紪杈戝櫒浣跨敤銆佺紪璇戝櫒涓庤皟璇曞櫒镄勪娇鐢锛屼互鍙奙akefile鍜孍macs缂栬緫鍣ㄧ殑浠嬬粛銆
绗5绔狅细鏁版嵁銆佽繍绠楃﹀拰琛ㄨ揪寮忕殑璁茶В锛屾繁鍏ョ悊瑙C璇瑷璇娉曡勫垯鍜屽熀链姒傚康銆
绗6绔狅细鏁版嵁镄勮緭鍏ュ拰杈揿嚭锛屽寘𨰾琾rintf鍜宻canf鍑芥暟镄勪娇鐢ㄣ
钖庣画绔犺妭阃愭ユ繁鍏ュ埌缁撴瀯鍖栫紪绋嬨佹暟缁勚佸嚱鏁般佸唴瀛樼$悊绛夊唴瀹广
绗涓夌瘒锛氶珮绾х紪绋
绗13绔狅细鎺㈣℅UI寮鍙戞妧链锛屽侴TK+鍜孡inux涓嬬殑涓嶅悓GUI阃夐”銆
绗14绔狅细璁惧囬┍锷ㄥ紑鍙戯纴璁茶В璁惧囬┍锷ㄤ笌鍐呮牳镄勫叧绯诲拰锘烘湰寮鍙戞妧链銆
鍏朵粬绔犺妭鍖呮嫭鏂囦欢镎崭綔銆佽繘绋嬬$悊涓庣嚎绋嬫带鍒剁瓑銆
缁煎悎瀹炰緥
绗18绔狅细宓屽叆寮忕绣缁滈槻寰′綋绯昏捐★纴瀹炴垬椤圭洰銆
绗19绔狅细ARM Linux瑙嗛戦噰闆嗕笌浼犺緭锛屽疄璺靛簲鐢ㄣ
绗20绔狅细ARM Linux鎸囩汗璇嗗埆锛岄珮阒舵妧链瀹炶返銆