国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

有些技術確實可以在兩、三個月內學通,嵌入式開發經驗總結

發布時間:2017-7-26 14:45    發布者:技術小白
關鍵詞: 嵌入式開發 , arm
有些技術確實可以在兩、三個月內學通,嵌入式開發經驗總結

讀大學時學過計算機組成原理、操作系統、計算機網絡等等課程,但是大學生都知道,上完那些課只是懂一點皮毛而已,打打醬油就過去了。特別是對于軟件工程師,一定要多實踐、多思考才行。理論知識顯得并沒有搞硬件或者偏硬件開發的那么重要,因為軟件的重點在于邏輯和算法。

個人認為,在中、高級階段,偏硬莫非就是一種知識活兒,而偏軟莫非就是一種體力活兒……只有到達專家階段才能夠有所突破。對比一下培訓機構的軟件開發和硬件開發的培訓費用就知道了,一般的軟件培訓(Java/C++/PHP/C#),收費大概是一個月3000,強調是“一個月”,一般的培訓都是2~6個月,所以總費用少則幾千,多則上萬。而嵌入式的培訓費則是按天計算,1天大概500,強調是“1天”,一般的培訓是一周,也有培訓半年的,但是費用也相當高!由此可見,嵌入式的課程含金量很高。軟件開發,特別是網站開發,比嵌入式辛苦多了。

如果硬件和軟件兩者皆不了解,那么推薦你選擇偏硬件的方向,實惠很多。綜合其他前輩的經驗,嵌入式開發是個不錯的工作,應該比公務員都還好,但要學好大學里面的課程,比如數字邏輯、電路分析、微機原理、單片機等等,理論很重要。理論面前,男女平等。

靜下心來看書、做項目,你會發現有些東西確實可以在短短兩、三個月內學通,即使說你今年做LinuxC/C++開發,明年做JavaEE、Android開發,后年去做硬件開發、驅動開發,那都是沒問題的。問題是,你喜歡做什么?你想要達到哪種境界?

嵌入式開發知識總結

一、基礎知識


目前流行的嵌入式操作系統有:linux、uC/OS、WindowsCE、VxWorks、PalmOS和QNX。其中VxWorks實時性很強,最穩定、可靠,但價格昂貴,而其他的都有各自的優點。

ARM公司(原名Advanced RISC Machine),主要是研發ARM系列微處理器(出售IP,即知識產權),目前全世界有幾十家著名的半導體公司都使用ARM公司的授權,包括IBM、Intel、SONY、LG等。ARM微處理器已成為RISC標準。目前基于ARM核的處理器有以下幾種:

ARM7/9 Thumb家族
ARM9/10E家族
ARM 11家族
ARM Cortex家族
SecurCore家族
OptimoDE Data Engine家族
MPCore Multiprocessors家族
Intel公司的StrongARM(相當于ARM8)和Xscale。

ARM7處理器采用了ARMV4T(馮諾依曼)體系結構。目前主流的ARM7內核是ARM7TDMI(最常用)、ARM7TDMI-S、ARM720T和ARM7EJ-S。T代表支持Thumb指令集,D代表支持片上調試,M代表內嵌硬件乘法器,I代表支持片上斷點和調試點。

ARM9處理器采用改進型哈佛體系結構。采用五級流水處理及分離的Cache結構。常見的系列有:ARM920T、ARM922T和ARM940T。

Xscale是基于ARMv5TE體系結構,是一款性能全、性價比高、功耗低的處理器。支持16位的Thumb指令和DSP指令集。

Cortex,按傳統的命名方法,Cortex可以看做ARM12。ARM公司推出了Cortex-A/R/M三個系列。

還有ARM9E、ARM11、MPCore、StrongARM等,略。

比較經典的是基于三星ARM9的S3C2440的開發板,這個系列的資料很多。還有基于三星ARM11的S3C6410開發板,可以跑android。

ARM體系結構的變種

Thumb指令集(T變種)是將ARM指令集重新編碼形成的一個子集。常見的ARMv5T使用v2版的Thumb指令集。

此外,還有長乘法指令(M變種),增強型DSP指令(E變種),Java加速器Jazelle(J變種)和ARM媒體功能擴展(SIMD變種)。

二、開發流程


不管系統多么復雜,一般都是以最小系統為基礎,通過加入所需的功能模塊構成的。最小系統大概包括電源電路、時鐘電路、復位電路、外擴的存儲系統和調試接口。

1、硬件設計

首先要進行實驗板硬件資源規劃,例如在最小系統的基礎上擴充I2C存儲器、串行接口、網絡接口、USB接口、觸摸屏接口,以及按鍵、蜂鳴器等。

然后設計硬件電路,包括電源電路、復位電路、時鐘微處理器電路、外部存儲器電路電路、網絡接口電路等等,這一部分貌似比較有難度。許多公司也都是出售組裝好的開發板。

PCB的設計,要考慮到抗高頻干擾、信號完整性、差分布線等。焊接好元件之后還要調試電路。

2、軟件的移植與開發

軟件系統的移植主要包括Bootloader的移植、Linux操作系統的移植(包括內核和文件系統的移植)以及針對實驗板的驅動程序的編寫等。

1)準備交叉編譯工具
2)引導加載程序的移植(例如vivi、U-Boot)
3)內核的移植
4)根文件系統的移植
5)驅動程序的編寫
6)其他,例如JTAG測試。

三、移植Linux內核


基本步驟為:

1)獲取某一版本的Linux內核源碼,根據具體目標平臺對內核源碼進行必要的改寫,主要是修改體系結構相關的部分。

PS:顯然,對內核源碼的修改很有難度,它既要求開發者對Linux內核結構非常熟悉,對目標平臺的硬件結構也非常熟悉,而且要有良好的匯編基礎。這一部分的工作一般都是目標平臺提供商完成的,而且主要的東西是ARM公司的工程師來完成,由他們提供相關版本的Linux內核的補丁,然后把補丁打到我們所用的Linux內核上,經過必要的配置和交叉編譯就行了。所以說,內核的定制和改寫難度很大,一般的軟件工程師和硬件工程師都很難勝任。

2)打補丁,然后配置內核,調出內核配置界面,選上某些選項或者去掉某些選項,配置選項非常多,而且某些選項之間有關聯,所以說這一步比較有難度。下面列出一些配置項,每個配置項都可以選擇Y(將該功能編譯進內核)、N、M(編譯成可以在需要時動態加載的模塊)。

Code maturity level options(代碼成熟度選項)
General setup(通用設置)
Networkong deveices(包括很多子選項dummy net driver support,PLIP support,SCSI device support等)

3)編譯內核,用幾個命令就可以編譯內核了。#make clean,#make dep,#make zImage。

4)移植根文件系統,內核編譯完之后,可以運行各種命令并支持各種功能的中央處理器,但是如果缺少了內存、硬盤等設備也不能正常運行。根文件系統中存放了Linux系統所需要得各種程序文件,沒有這些文件內核無法正常工作。同樣,要移植根文件系統需要清楚Linux的運行機制,比較麻煩。所以一般都使用Busybox這個工具。安裝配置Busybox,向Busybox添加命令,構造根文件系統,制作根文件系統映像文件(形如initrd.gz)。

5)使用U-Boot制作、下載內核。U-Boot支持uImage格式的內核文件。啟動內核,然后使用U-Boot加載根文件系統映像。

四、開發環境的建立


一般宿主機推薦用Red Hat9.0,需要宿主機在硬件上有標準串口、并口、網口;軟件上具有目標板的Linux內核、ramdisk文件系統映像以及Bootloader。軟件的更新通常使用串口或網口,最初的Bootloader燒寫是通過JTAG進行的。

首先要在宿主機上建立交叉編譯調試的開發環境,許多開發板配有光盤能實現自動安裝。用minicom作為被開發目標板的終端,開發前要正確的配置minicom。然后配置TFTP(簡單文件傳輸協議),用于在目標板和宿主機之間傳輸文件。配置NFS,以便終端機能共享宿主機的文件。
實驗1 編譯Bootloader
很簡單。一種常見的Bootloader是PPCBoot,另一種是vivi。
實驗2 編譯Linux內核
用幾個命令就可以編譯內核文件,編譯后就要配置,配置稍微繁瑣一點。但是每個選項在網上都可以找到相應的配置方法。
實驗3 制作文件系統及程序的燒寫
實驗4 燒寫各部分到目標板
實驗5 交叉編譯并運行簡單程序
打開minicom開啟實驗板電源,掛載實驗板。編譯C語言的命令形如:
/opt/host/armv4l/bin/armv4l-unknown-linux-gcc -o HelloWorld HelloWorld.c
實驗6 簡單驅動程序的編寫

編寫一個簡單字符設備的驅動程序。該程序非常簡單,但是涉及到很多系統硬件的知識。if,for,switch,static,define這些關鍵字用得很多,也涉及到結構體,涉及到直接對地址的操作、位運算。涉及到物理設備,中斷等一些知識。

其實,顯而易見,驅動開發更靠近硬件一些,程序方面主要是熟練c語言就可以了。驅動開發的最大喜悅就是把物理設備給驅動起來的,并盡量使驅動不出問題,物理設備能夠正常運行。


想學習的你和我聯系預約就可以免費聽課了。
以下課程可免費試聽C語言、電子、PCB、STM32、Linux、FPGA、JAVA、安卓等。
宋工企鵝號:3524-6590-88   Tel/WX:173--1795--1908



本文地址:http://m.qingdxww.cn/thread-453813-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • FPGA設計流程培訓教程
  • Chiptorials ——使用ATECC608 TrustFLEX實現基本非對稱身份驗證
  • Chiptorials——如何使用ATECC608 TrustFLEX實現公鑰輪換
  • 無線充電基礎知識及應用培訓教程
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产h视频在线观看免费 | 精品国产一区二区三区久 | 操操综合| 日韩手机视频 | 国产综合区 | 日本中文字幕视频在线看 | 91av视频免费在线观看 | 欧美视频性 | 国产欧美一区二区成人影院 | 欧美一进一出抽搐大尺度视频 | 亚洲精品永久www忘忧草 | 久久精品视频免费 | 妈妈的朋友韩国在线播放 | 91久操 | h肉3d动漫在线观看网站 | 精品国精品自拍自在线 | xxxx日本免费高清视频 | 麻豆精品一区二区三区免费 | 操操干 | 99久久免费国产精精品 | 国产区精品福利在线社区 | 99re这里只有精品99 | 久久公开视频 | 免费亚洲黄色 | 欧美黄色tv | 久久aa| 4hu四虎免费影院www | 久久久精品免费国产四虎 | 日本高清在线中文字幕网 | 手机看片日韩日韩 | 2019精品国产品免费观看软件 | 黄大色大片免费久久 | 在线毛片免费 | 亚洲色图 在线视频 | 99热成人精品国产免男男 | 国产va欧美va在线观看 | 狠狠丁香 | 免费在线观看一区 | 动漫av网站免费观看 | 在线成人毛片 | 福利99 |