<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 嵌入式網(wǎng)絡(luò )收音機的ARM實(shí)現

嵌入式網(wǎng)絡(luò )收音機的ARM實(shí)現

作者: 時(shí)間:2011-07-24 來(lái)源:網(wǎng)絡(luò ) 收藏
3 系統的的軟件設計

本文引用地址:http://dyxdggzs.com/article/150437.htm

  3.1 Linux的移植

  Linux內核的版本很多,一般情況下版本越高,系統越穩定,驅動(dòng)更完善,本系統選擇了2.6.18的Linux內核。其實(shí)對于2.6以后版本的Linux內核,對S3C2410的支持都有了很好的支持,所以移植過(guò)程都比較簡(jiǎn)單[3]。Linux2.6.18移植到S3C2410的基本步驟如下:

  (1)下載Linux2.6.18內核,并解壓到相應目錄。

  (2)修改內核頂層目錄下的Makefile文件,指明交叉編譯器。進(jìn)入Linux-2.6.18內核目錄,輸入命令vi Makefile,找到ARCH和CROSS_COMPILE兩項,將其修改為ARCH = arm,CROSS_COMPILE = arm-linux-。

  (3)設置PATH環(huán)境變量,使其可以找到交叉編譯工具。輸入su root,進(jìn)入root,在輸入vi/etc/bashrc,在結尾處加入以下行:export PATH=/usr/local/arm/3.4.4/bin:$PATH,然后重啟終端或重新登陸即可。

  (4) 設置Flash分區。首先要在arch/arm/mach-s3c2410/devs.c文件中添加分區信息,其次在arch/arm/mach-s3c2410/mach-smdk2410.c文件的smdk2410_devices[]的成員中添加s3c_device_nand。這樣Linux內核啟動(dòng)時(shí),就會(huì )對Flash分區的設置初始化。

  (5)禁止Flash ECC校驗。修改drivers/mtd/nand/s3c2410.c 文件,找到s3c2410_nand_init_chip()函數,在該函數體最后加上一條語(yǔ)句:chip->eccmode = NAND_ECC_NONE。

  (6)配置內核。通過(guò)make menuconfig命令配置內核。

  (7)編譯內核,make zImage命令,得到Linux內核的映像文件zImage。

  (8)制作根文件系統。

  3.2 Mplayer移植

  Mplayer是Linux下的一個(gè)多媒體播放器。它的主要功能是對接收到的各種格式的流媒體數據進(jìn)行解碼,同時(shí)也完成對接收的電臺的IP地址進(jìn)行解析的任務(wù)。Mplayer支持mp3、ogg 和wma等多種格式的流媒體數據進(jìn)行解碼,是一個(gè)功能十分強大的開(kāi)源應用軟件。Mplayer的移植步驟如下:

  (1)下載源代碼MPlayer-current.tar.bz2,并解壓。

  (2)為了讓mplayer支持在線(xiàn)播放,從而能夠播放電臺,還必須下載安裝網(wǎng)絡(luò )協(xié)議包(主要指RTSP、MMS等協(xié)議)??蓮膚ww.live555.com上下載live555協(xié)議包,解壓后配置并編譯。

  (3)配置mplayer的命令格式如下:

  ./configure --cc=arm-linux-gcc --target=arm-armv4-linux --enable-static --disable-win32 --host-cc=gcc --disable-dvdread --enable-fbdev --disable-mencoder --disable-mp3lib --enable-mad --enable-libavcodec --enable-live --with-livedir=/live555的目錄/ --2>1 | tee logfile。

  其中,--host-cc=gcc是用來(lái)編譯一些需要在host上執行的中間文件的,如codec-cfg。--cc=arm-linux-gcc 是用來(lái)指定交叉編譯工具。關(guān)于 --target=arm-armv4l-linux這個(gè)參數要注意的是它被分為三部分,第一部分的arm是指arch,這里設定為arm;第二部分的armv4l是指具體的版本;第三部分是系統平臺。--enable-static是設定靜態(tài)連接。--2>1 | tee logfile意思是將執行的情況在輸出到屏幕的同時(shí)記錄到logfile文件中,在控制臺下編譯比較有用。

  (4)輸入make命令開(kāi)始編譯,編譯完成后在頂層目錄生成mplayer可執行文件。

  3.3軟件主流程圖

  系統主流程圖如圖5所示。系統上電后,bootloader(U-boot)啟動(dòng),完成硬件設備的初始化, 并引導系統內核啟動(dòng)。系統啟動(dòng)執行初始化任務(wù)后,首先配置網(wǎng)絡(luò )連接,通過(guò)運行DHCP Clieant向DHCP Server申請獲取本系統IP地址。然后系統自動(dòng)訪(fǎng)問(wèn)默認的電臺服務(wù)器,該服務(wù)器上有最近更新的世界各地的網(wǎng)絡(luò )電臺的URL地址,系統下載該列表,并更新上次保存的列表。然后系統判斷有無(wú)按鍵按下,若有按鍵按下,系統根據按鍵選擇相應網(wǎng)絡(luò )電臺,若在一定時(shí)間段內沒(méi)有按鍵按下,系統自動(dòng)連接電臺列表的第一個(gè)電臺地址,并開(kāi)始播放該網(wǎng)絡(luò )電臺。同時(shí),LCD將顯示電臺的有關(guān)信息和系統信息。在播放過(guò)程中,同樣可以根據按鍵來(lái)中斷、選擇網(wǎng)絡(luò )電臺。

  

  圖5 系統主流程圖

  4 結束語(yǔ)

  本設計基于技術(shù),通過(guò)軟硬件等三層結構,了一個(gè)嵌入式網(wǎng)絡(luò )系統。該系統克服了PC機形式的網(wǎng)絡(luò )的諸多缺點(diǎn),是一個(gè)極具創(chuàng )新思維的設計。隨著(zhù)網(wǎng)絡(luò )技術(shù)和嵌入式技術(shù)的高速發(fā)展,該設計具有很好的市場(chǎng)應用前景和科研價(jià)值。

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)

波段開(kāi)關(guān)相關(guān)文章:波段開(kāi)關(guān)原理



上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>