在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>嵌入式開發>uClinux在嵌入式系統中的移植

uClinux在嵌入式系統中的移植

2017-11-06 | rar | 0.5 MB | 次下載 | 1積分

資料介紹

1 引言
  uClinux作為Linux衍生操作系統,具有支持多任務、內核精簡、高效、穩定和源代碼開放等優點,專門應用于無MMU微處理器嵌入式系統[1]。將uClinux應用于嵌入式系統已經成為許多嵌入式開發人員的選擇。本文針對基于三星公司生產的ARM系列微處理器S3C44B0的硬件平臺,詳細論述移植uClinux 的過程,主要包括BootLoader的設計, uClinux內核的修改,交叉編譯環境的建立,uClinux內核的配置,編譯及連接,映像文件的下載及運行。
  2 硬件環境
  硬件平臺以S3C44B0為核心,采用的外部晶振頻率為10MHz,內核主頻最高可達到64MHz;通過RS232接口上位機通訊;外接JTAG接口,支持在線調試;采用SST39VF1601(2M字節)作為程序存儲器,對應的地址空間為0x00000000-0x001fffff;采用HY57VF641620 (8M 字節)作為數據存儲器, 對應的地址空間為0x0c000000-0x0c7fffff。硬件框圖如圖1所示。
  uClinux在嵌入式系統中的移植
  圖 1 硬件框圖
  3 uClinux的移植
  3.1 移植思路
  硬件環境確定以后,首先,要為uClinux設計一個BootLoader,通過BootLoader來初始化硬件,引導uClinux運行。Bootloader設計可以在ads中實現。然后,針對硬件環境,和設計的BootLoader修改uClinux內核。接下來,在Linux操作系統下建立編譯uClinux的交叉編譯環境。最后,配置、編譯、連接uClinux,下載編譯得到的映像文件到Flash,通過BootLoader來啟動uClinux。
  3.2 Bootloader的設計
  BootLoader就是在操作系統內核運行之前運行的一段小程序.通過這段小程序,我們可以初始化硬件設備、建立內存空間的映射圖,從而將系統的軟硬件環境帶到一個合適的狀態,以便為最終轉到操作系統內核準備好合適的環境.這里設計的BootLoader主要有啟動、下載和燒寫引導uClinux的功能。BootLoader完成初始化工作后會通過串口在Windows的終端顯示如下信息:0: tftp download 1: Write NorFlash with download file 2: Boot uClinux
  在終端的提示符“/”下輸入0、1或2分別代表選擇功能0、功能1或 功能2。BootLoader執行對應的操作,功能0利用TFTP網絡傳輸程序到SDRAM,默認下載地址為0x0c000800;功能1下載程序到flash,uClinux的映像文件image.rom的下載地址為0x00010000, Romfs.img的下載地址為0x00100000。這兩個下載地址不是任意的,前一個地址與BootLoader的功能2有關;后一個地址與uClinux的文件系統定位有關。具體確定方法在下文論述;功能2啟動燒寫到Flash的uClinux。[2]
  因為本文的重點是uClinux的移植,所以這里不再詳述BootLoader的具體實現過程,只介紹一下與uClinux相關的地方:(1)因為uClinux要利用S3C44B0的串口輸出一些信息,所以BootLoader初始化過程中要設定處理器的主頻,uClinux根據這個主頻來設定串口寄存器,得到一定數值的波特率。本文選擇的主頻為61Mhz,波特率為115200。(2)執行功能2時,會調用一個MoveRun函數:
  Void MoveRun(void)
  {void (*fp)(U32,U32)=(void(*)(U32,U32))0xc300000; //0xc300000為uClinux的運行地址
  NorFlashRead(0xc300000,0x10000,0x160000) ; //將燒寫到0x10000處的image.rom移到//0xc300000
  (*fp)(0, 0); //啟動uClinux
  }
  (3) 啟動uClinux后,image.rom在0xc300000處自解壓,并在0x0c000000處放置uClinux 的中斷向量表。即使uClinux 內核已經得到處理器的控制權運行,一旦發生中斷,處理器還是會自動跳轉到從0x0地址開始的第一級中斷向量表中的某個表項(依賴于中斷類型)處讀取指令運行。所以在編寫BootLoader時,地址0x0處的一級異常中斷矢量表只需簡單地包含向0x0c000000處的中斷向量表的跳轉指令就可以,這樣就 能夠正確地將發生的事件交給uClinux的中斷處理程序來處理,BootLoader的第一級異常中斷向量表如下所示:
  b ResetHandler ;//跳轉到初始化部分
  ldr pc,=0x0c000004; // Undefined Instruction Handler
  ldr pc,=0x0c000008; // Software Interrupt Handler
  ldr pc,=0x0c00000c; // Prefetch Abort Handler
  ldr pc,=0x0c000010; // Data Abort Handler
  b 。
  ldr pc,=0x0c000018; //IRQ Handler
  ldr pc,=0x0c00001c; //FIQ Handler
  3.3 uClinux內核的修改
  目前uClinux已被成功移植到S3C44B0及其他多款ARM芯片上,但由于嵌入式操作系統的運行是與嵌入式系統的硬件密切相關的,而硬件的設計則會因為使用場合的不同而千差萬別,因此,uClinux內核源代碼中和硬件緊密相關的部分就應該針對特定的硬件作出適當的修改。
  首先,從網站(www.uClinx.org)下載源碼uClinux-dist-20040408,但這個發行包中的內核對S3C44B0X處理器的支持是不完整的,必須為內核打上補丁uClinux-2.4.24.patch(可以從http://www.hzlitai.com.cn下載),然后在終端下執行:patch –p0
  -2.4.24.patch就可以安裝該補丁。該補丁完善了對S3C44B0的支持,但是它針對特定的硬件及Bootloader,對內核做了相應的修改,因此我們在做移植時應該根據自己的BootLoader及硬件來修改內核。修改部分如下:
  (1)壓縮內核代碼起始地址修改
  修改目錄linux-2.4.x/arch/armnommu/boot/下的文件Makefile里的如下代碼:
  ifeq ($(CONFIG_BOARD_MBA44),y)
  ZTEXTADDR = 0x0c300000
  ZRELADDR = 0x0c008000
  Endif
  ZTEXTADDR代表 映像文件image.rom自解壓的起始地址,它的值是由BootLoader的功能2決定的。執行功能2,將image.rom從Flash轉移到SDRAM的地址0x0c300000,內核自解壓,所以ZTEXTADDR必須和這個值相同。ZRELADDR代表內核解壓后代碼輸出起始地址。
下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1TC358743XBG評估板參考手冊
  2. 1.36 MB  |  330次下載  |  免費
  3. 2開關電源基礎知識
  4. 5.73 MB  |  6次下載  |  免費
  5. 3100W短波放大電路圖
  6. 0.05 MB  |  4次下載  |  3 積分
  7. 4嵌入式linux-聊天程序設計
  8. 0.60 MB  |  3次下載  |  免費
  9. 5基于FPGA的光纖通信系統的設計與實現
  10. 0.61 MB  |  2次下載  |  免費
  11. 6基于FPGA的C8051F單片機開發板設計
  12. 0.70 MB  |  2次下載  |  免費
  13. 751單片機窗簾控制器仿真程序
  14. 1.93 MB  |  2次下載  |  免費
  15. 8基于51單片機的RGB調色燈程序仿真
  16. 0.86 MB  |  2次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33564次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21548次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6653次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537796次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191185次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183278次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
主站蜘蛛池模板: 欧美婷婷 | 美女屁屁免费视频网站 | 国产真实灌醉美女疯狂弄 | 两性色午夜视频免费播放 | 国产在线欧美精品卡通动漫 | eeuss秋霞成人影院 | 国产精品福利一区 | 欧美日韩不卡码一区二区三区 | 精品国产柚木在线观看 | 夜夜操天天操 | 亚洲一区二区三区免费视频 | 一区二区三区四区国产精品 | 四虎永久在线观看视频精品 | 2020年亚洲天天爽天天噜 | 国产人成精品香港三级古代 | 天天爽天天狼久久久综合 | 欧美18性精品| 黑粗硬大欧美视频 | 在线观看免费av网站 | 亚洲黄视频| 黄网站在线观看 | 日本黄色激情视频 | 婷婷久| 天天骑夜夜操 | 91久久另类重口变态 | 一级视频片 | 综合丁香| 免费一区二区三区 | 亚洲色图图片专区 | 亚洲干综合 | 午夜精品福利影院 | 另类免费视频 | 久久综合久久久久 | 国产三级观看 | wwxxx日本| 女人aaaaa片一级一毛片 | 黄色一级片网址 | 99久精品 | 永久福利盒子日韩日韩免费看 | 在线观看高清视频 | 黄色a三级免费看 |