目前正在研究SmartArm3250的Linux驅動方面,所以首先就要在開發板上安裝(也可以稱為下載)Linux系統,按照書上的步驟,遇到一些小問題,通過多次試驗和總結,現在可以熟練的安裝Linux系統了,總結一下,其中包含個人的見解和自己找到的資料。
首先,介紹一下安裝Linux的大致步驟。開發板就像一個裸機一樣,什么都沒有(當然有硬件),首先要安裝一個類似于電腦中BIOS一樣的東西,還 有一個引導操作系統的東西,然后就是裝入內核鏡像,不是.iso文件哦,是編譯內核生成的一個東東,最后就是一個文件系統,類似于電腦中的各個分區,也可 以理解成光是C盤的各種東西,而與電腦中安裝系統的不同之處在于,這個文件系統是自己手動安裝上去的,而且分為兩種文件系統,一個是安全文件系統,另一個 是根文件系統。對于普通的電腦來說,是通過光盤或者U盤等移動設備進行安裝的,但對于開發板,它不能直接讀取這些媒介中的安裝程序,所以就需要通過串口或 網線進行傳輸,而且是傳輸已經成型的系統文件。
再說幾點需要注意的:1、在安裝Linux的全程中,開發板上的ISP跳線可以一直處于短接狀態;2、串口調試的時候,在Windows下使用的超 級終端,對應在Linux下使用的是minicom,功能一致,操作不同,也可以使用zlg提供的Tera Term工具;3、在下載Bootloader的時候,一定要保證J2跳線(就是處于JP13跳線右邊的)是斷開的;4、在裝載Bootloader時, 彈出對話框提示復位的時候,需要先點擊確定鍵,對話框消失后再按下復位鍵。
好了,大致的步驟和原理說的差不多了,下面就正式開始在SmartArm3250上搭建Linux開發平臺:
一、安裝Bootloader。其中包括Kickstart、S1L和u-boot,Kickstart需要存儲在NAND FLASH的0號扇區(順便說一下,在SmartArm3250的NAND FLASH中,一個扇區的大小為128KB,從0開始,對應的地址為0x00000000);S1L即stage 1 loader,存儲在1號扇區,作用基本都是用來初始化和引導SmartArm3250的,這兩個文件(kickstart.bin和 stage1.bin)都是通過串口傳輸到開發板中的,使用的工具是zlg光盤中的UpdateBootloader.exe程序,在下載這兩個文件之前 還要通過UpdateBootloader.exe向開發板中下載bootloader.bin,如果下載完成的話,在 UpdateBootloader.exe工具中點擊代碼檢測按鈕,對應的NAND Flash項前的圓形圖標會變成綠色,并在后面提示有效,說明下載成功。再次說明一下,在裝載Bootloader時,彈出對話框提示復位的時候,需要先 點擊確定鍵,對話框消失后再按下復位鍵。
二、安裝u-boot。這時就需要通過串口調試了,通過超級終端或者minicom(個人推薦在Tera Term中進行這一步,因為我在用minicom傳輸u-boot.bin的時候,總是不能傳輸完整,導致不可用,至今未解決。。。)與開發板連接好,當 然首先是要把串口線接好,然后按下復位鍵,這時會看到kickstart和S1l的啟動過程,光標停留在“SmartArm3250>”后,即 S1L命令提示符,然后再輸入erase 2 10 1,擦除u-boot存放的扇區,再輸入load term raw 0x83fc0000,向首地址為0x83fc0000的存儲單元存儲東西,然后點擊File->Send file,選擇u-boot.bin,傳送完畢后點擊Control->Send break,返回S1L命令提示符,輸入nsave,將u-boot.bin寫入NAND FLASH中,最后輸入aboot flash raw 0x83fc0000,保存自啟動配置,按下復位鍵,下次啟動時就可以進入u-boot控制界面下了。
三、安裝內核和安全文件系統。此后的串口調試都可以在linux的mincom下操作了,因為至今未發現錯誤。按下開發板上的復位鍵后,先迅速按一 下任意鍵,進入S1L命令控制下,輸入erase 12 2036 1,。擦除除kickstart、s1l和u-boot外的NAND FLASH扇區,然后再按開發板上的復位鍵,進入u-boot命令控制臺下,通過tftp傳輸協議,把內核鏡像和安全文件系統下載到開發板中。由于開發板 默認ip為192.168.7.XX,所以要進行tftp傳輸時,要把電腦也的ip也設置成192.168.7.XX(說句廢話,記得插網線哦。。。)。 下載內核鏡像的過程如下,首先輸入tftp 80008000 uImage,就是把tftp服務器中的uImage文件傳輸到開發板的首地址為0x80008000的存儲空間內,然后輸入nand erase clean 0x00200000 (filesize),目的是以0x00200000為首地址開始,擦除長度為filesizebytes的空間,這句話的作用和在S1L下的erase命令是一樣的,下一步輸入nandwrite.jffs20x800080000x00200000(filesize),目的是以0x00200000為首地址開始,擦除長度為filesizebytes的空間,這句話的作用和在S1L下的erase命令是一樣的,下一步輸入nandwrite.jffs20x800080000x00200000(filesize),作用是把首地址為0x80008000,長度為filesize的一段存儲空間內的東西,寫入到首地址為0x00200000的 空間中,再輸入setenv kernelsize (filesize),作用是設置內核大小為fliesize,這樣就把內核鏡像下載好了。下載安全文件系統的過程如下,首先輸入tftp80008000safefs.cramfs,然后輸入nanderaseclean0x00600000(filesize),作用是設置內核大小為fliesize,這樣就把內核鏡像下載好了。下載安全文件系統的過程如下,首先輸入tftp80008000safefs.cramfs,然后輸入nanderaseclean0x00600000(filesize),再輸入nand write.jffs2 0x80008000 0x00600000 $(filesize),指令的作用和下載內核鏡像時是一樣的,就不多說了。下載好內核鏡像和安全文件系統后,再輸入saveenv,作用是保存剛才的環 境配置。如果不明白上面的那些地址和參數是怎么回事,只要看看這里,就應該明白了,這些都是純粹的對地址和塊進行操作,沒有什么技巧可說,就是死的東西,只要記住就可以了。
四、安裝根文件系統。這時就需要一個存有rootfs.tar.bz2和burn文件的SD卡(因為書上只說了用SD卡安裝的方法,我自己試了其他方法都不成功),把它插到開發板的卡槽上,其中burn文件的內容如下:
#!/bin/sh
echo "start burn rootfs"
cd /tmp
if[! -d /mnt/bin]
then
tar xjvf rootfs.tar.bz2 -C /mnt/
fi
cd /
umount /mnt/
umount /tmp/
reboot
#!/bin/shecho "start burn rootfs"cd /tmp if[! -d /mnt/bin]thentar xjvf rootfs.tar.bz2 -C /mnt/ficd /umount /mnt/ umount /tmp/reboot
這是一個簡單的shell程序,目的就是把rootfs.tar.bz2解壓出來,就是一個根文件系統。安裝好內核鏡像和安全文件系統,在輸入 saveenv后,輸入run safemode,這時會進入一個所謂的安全模式下的Linux系統,在系統啟動的時候,就會自動掃描SD卡,然后運行burn文件,自動將根文件系統解 壓出來,然后reboot重啟(安裝過好多次系統,發現這條命令基本是不會執行的),看到在minicom下顯示正在重啟的提示后,它會死在那里不動,這 時要手動按下開發板上的復位鍵,重啟后,就可以自動進入Linux系統了。
五、安裝完成。這時可以再開發板的顯示屏上看到Qt桌面,在電腦的minicom下可以看到類似于終端的操作界面,由于開發板上是裁剪后的Linux系統,所以只支持一些簡單的操作命令。
好了,至此為止,就在SmartArm3250上搭建好了Linux系統,由于我是基于隨開發板贈送的指導書上進行的,上面有一些寫的不周詳,我是 通過自己試驗總結的,不過其中一些步驟會有很多方法,書中只介紹了幾種,所以我試驗的方法也不是所有的,可能會遺漏一些更為方便的方法,大家可以給我提出 來,有什么不同的見解也可以和我討論。
上一篇:修改arm開發板IP地址
下一篇:J-LINK V7/V8+ADS調試NXP LPC3250 Smartarm3250
推薦閱讀
史海拾趣
近年來,BRIGHT公司積極投身于太陽能領域的發展。他們推出了一種創新的商業模式,即幫助用戶免費安裝太陽能面板,并隨后收取服務費。這一模式類似于有線電視的收費方式,有效降低了用戶安裝太陽能系統的門檻。通過與私人投資者的合作,BRIGHT公司成功承擔了安裝成本,并致力于向全球提供優質的屋頂太陽能解決方案。這一突破性的舉措使得BRIGHT公司在太陽能領域取得了顯著的成績。
Electroswitch Electronics Products(以下簡稱“Electroswitch”)成立于1986年,是Electro Switch Corp的一個子公司,后者早在1946年就已創立。在創立之初,Electroswitch就致力于設計和制造高品質的開關產品,以滿足電子應用領域的各種需求。通過不斷的技術創新和產品優化,Electroswitch逐漸在電子行業中樹立了良好的聲譽。
Diotec Electronics Corp公司成立于XXXX年,由一群富有激情的工程師和技術專家創立。在初創期,公司專注于研發高性能的電子元器件,以應對當時市場上對高效率和可靠性元件的迫切需求。通過不斷的技術創新,Diotec成功開發出了一款具有革命性的整流二極管,該產品以其卓越的性能和穩定性迅速贏得了市場的認可,為公司的發展奠定了堅實的基礎。
巴丁微積極參與各類電子行業的展會和交流活動,以此展示公司的技術實力和產品優勢。在CITE2023第十一屆中國電子信息博覽會上,巴丁微向大家展示了其在電機驅動芯片在智能鎖、氣表、水表、個人護理及智能垃圾桶等領域的應用案例,吸引了大量專業人士和行業客戶的關注。
通過展會,巴丁微不僅成功展示了公司的最新技術和產品,還加強了與業界同仁的交流與合作,進一步提升了公司在行業內的知名度和影響力。
While Bluetooth is an excellent technology for short-range data communication, shortcomings in its transport layer protocol can make the initial set-up of links between devices cumbersome for the user. Simply associating a Bluetoo ...… 查看全部問答∨ |
我國汽車產業高速發展,給蓄電池行業帶來空前的機遇,過去10年蓄電池總產量平均增幅高于德、美等發達國家。目前,我國蓄電池消費主要集中在汽車市場和摩托車市場,兩者占據大部分比重,消費份額為74%;電動自行車市場占8%;出口占7%,其他用量占11%。 ...… 查看全部問答∨ |
1 利用4位二進制加法器和4位寄存器,實現4位累加器的設計。要求設計的累加器有異步清零控制端和累加使能控制端(高電平累加允許 低電平輸出數據保持) 2 利用4位累加器和前面設計的計數器 實現兩個二位二進制數的乘法操作。初始時,累加寄存器清零 ...… 查看全部問答∨ |
單片機和上位機通訊。 通過gprs方式和上位機通訊的方式已經做出來了。 現在想實現通過無線網卡模塊,再通過無線路由器和上位機進行通信。 1.這種方式可行否? 2.單片機和無線網卡模塊的開發需要嵌入式操作系統不?這塊難度大部? … 查看全部問答∨ |
時鐘設置 一、簡介 本程序實驗使用更改寄存器,設置系統時鐘變化。軟件延時因系統時鐘而改變。進一步促使蜂鳴時間間隔變化。 二、時鐘原理 1、時鐘源 1)、外部振蕩器、0—50MHZ 2)、主振蕩器、 ...… 查看全部問答∨ |
ISE中有“Wait for DLL Lock”這個選項,目的是設置FPGA是否等待DCM的“lock”信號。 默認設置是nowait。 我現在想設置成為等待模式,但是里面的設置是0、1、2、3、4、5、6、這些數字代表的是什么設置啊? 還有,大家用DCM的時候,是 ...… 查看全部問答∨ |
是這樣的,我在一個函數里面要進行多次擦除FLASH的扇區的工作,擦除一個扇區時間需要要2-3S,而擦除扇區后,該函數接下來還要完成其它的邏輯。我想把等待FLASH時間用來做別的工作。請問該如何實現? [ 本帖最后由 amduron 于 2012-4-25 09:44 編輯 ...… 查看全部問答∨ |
|
自從注冊之后,基本上每天上班第一件事是習慣性的打開論壇然后再看新聞,但最近這段時間好像看不到新的東西,我前幾天發的帖沒有新的回復居然還至頂,感覺變了!說不出來,有點像現在懷念孩童的時光的那種感覺…… [ 本帖最后由 gh131413 于 2013-7 ...… 查看全部問答∨ |