主題 : Barebox for tiny 210 - step 1 編譯與運行 復制鏈接 | 瀏覽器收藏 | 打印
級別: 俠客
UID: 54261
精華: 9
發帖: 43
金錢: 665 兩
威望: 133 點
貢獻值: 9 點
綜合積分: 266 分
注冊時間: 2011-08-27
最后登錄: 2014-08-08
樓主  發表于: 2013-01-08 21:25

 Barebox for tiny 210 - step 1 編譯與運行

管理提醒: 本帖被 xoom 執行加亮操作(2013-01-09)
返回學習匯總貼
沒錯,沖著免費四核新平臺,語言不及格的我開始寫連載了...
step 1 編譯原始分支,引導成功
0.開發平臺介紹: Virtualbox 4.2.4 + Ubuntu-12.04.1-desktop-i386
1.安裝編譯工具:
    (1)解壓友善提供的編譯工具到根目錄
        cd ~ && mkdir tmp
        cp /mnt/winFolder/tiny210/Android/arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz tmp/
        sudo tar zxf tmp/arm-linux-gcc-4.5.1-v6-vfp-20120301.tgz -C /
    (2)添加編譯工具所在目錄到PATH
        vi ~/.bashrc
        在文件末尾增加以下四行,添加完成后執行source ~/.bashrc
        # set PATH here
        PATH=/opt/FriendlyARM/toolschain/4.5.1/bin:$PATH
        # export PATH
        export PATH
    (3)安裝其他工具
        sudo apt-get install vim git build-essential libncurses-dev minicom
2.下載源碼
    (1)創建工作目錄
        mkdir -p s5pv210/github/loader
        cd s5pv210/github/loader/
    (2)克隆github上的代碼庫
        git clone https://github.com/jiandeng/barebox.git
        cd barebox/
    (3)回退到原始分支        
        git checkout 172bc39a25480647cb392e446f80fa4f8eec7712
        一口吃不成大胖子,我們還是從頭學吧,這個版本跟barebox官方源碼沒有區別,只是我添了step-by-step-note這個說明性文件
        執行完后會提示:HEAD is now at 172bc39... add step-by-step notes
        有人會問了:172bc39a25480647cb392e446f80fa4f8eec7712是個啥玩意兒? 她是github對源碼版本的標識,理解為版本號吧,執行git log會顯示類似以下信息:
            commit 172bc39a25480647cb392e446f80fa4f8eec7712                     #代碼版本
            Author: jiandeng <[email protected]>                                  #修改作者
            Date:   Tue Dec 18 20:50:43 2012 +0800                                                  #修改時間
            add step-by-step notes                                                                                  #修改備注
3.編譯
        cp arch/arm/configs/friendlyarm_tiny210_defconfig .config
        make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi- menuconfig
        make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabi-
        編譯生成barebox.s5p和barebox.bin等目標文件,bin是可直接運行的文件,適合下載到SDRAM運行,s5p是封裝過的bin(見scripts/s5p_chsum.c),適合燒寫到SD卡并運行。
4.燒寫到SD卡——搞不清楚情形的狀況下千萬別輕舉妄動!硬盤數據是哭不回來的!!
        
本部分內容設定了隱藏,需要回復后才能看到

5.配置串口助手(baidu一下minicom使用吧,不好講清楚)
        sudo minicom -s
        選擇你使用的串口,配置為115200, 8位數據位,1位停止位,無校驗位,無流控,如下圖。
            +-----------------------------------------------------------------------+
            | A -    Serial Device      : /dev/ttyUSB0                              |
            | B - Lockfile Location     : /var/lock                                 |
            | C -   Callin Program      :                                           |
            | D -  Callout Program      :                                           |
            | E -    Bps/Par/Bits       : 115200 8N1                                |
            | F - Hardware Flow Control : No                                        |
            | G - Software Flow Control : No                                        |
            |                                                                       |
            |    Change which setting?                                              |
            +-----------------------------------------------------------------------+
        選擇Save setup as dfl 保存為默認配置
        選擇exit from minicom退出
6.運行
    (1)打開串口助手
        sudo minicom
    (2)從SD卡啟動單板
        SD卡插入單板,撥動開關選擇從SD卡啟動,單板串口連接電腦,開機,查看minicom
                barebox 2012.12.0-00125-g172bc39 #1 Tue Jan 8 20:11:10 CST 2013                                      
                Board: Tiny 210                                                                                      
                malloc space: 0x23a00000 -> 0x23dfffff (size  4 MB)                                                  
                stack space:  0x239f8000 -> 0x23a00000 (size 32 kB)                                                  
                refclk:    24000 kHz                                                                                
                apll:    1000000 kHz
                mpll:     667000 kHz
                hclk:     133400 kHz
                pclk:      66700 kHz
                Open /dev/env0 No such file or directory
                no valid environment found on /dev/env0. Using default environment
                running /env/bin/init...
                not found
                barebox:    
        (3)各種折騰(?命令輸出所有支持的命令)
                barebox:/ ?
                      . - alias for source
                      ? - alias for help
                      [ - alias for test
                  bootm - boot an application image
                  bootu - start a raw linux image
                    cat - concatenate file(s)
                     cd - change working directory
                  clear - clear screen
                     cp - copy files
                cpuinfo - Show info about CPU
        (4)退出串口助手
        退出minicom算個技術活,按住CTRL不放,按A,再按Z,放開CTRL,按q,選yes,按回車...
        或者用window下的串口助手算了...

7.如果你感興趣
    (1) 熟悉Barebox的源碼目錄
    (2) 理清Barebox的啟動過程
    arch/arm/cpu/start.c 中
            void __naked __section(.text_entry) start(void) // 這個函數被鏈接到TEXT_BASE起始地址,她的第一條語句內聯調用了barebox_arm_head函數
                arch/arm/include/asm/barebox-arm-head.h 中
                    static inline void barebox_arm_head(void)
                        "b reset\n" // TEXT_BASE起始地址存放的實際上是這條命令,所以第一條命令是跳轉到reset函數開始執行
                        "1: b 1b\n"
                        "1: b 1b\n"
                        "1: b 1b\n"
                        "1: b 1b\n"
        reset函數定義在
                        arch/arm/boards/friendlyarm-tiny210/lowlevel.c 中
        依次執行:PLL初始化、SDRAM初始化、拷貝到SDRAM、在SDRAM中繼續運行board_init_lowlevel_return();
        
[ 此帖被mei5150在2013-04-13 20:43重新編輯 ]
*無鈳取玳
級別: 論壇版主
UID: 27
精華: 12
發帖: 5407
金錢: 40120 兩
威望: 17929 點
貢獻值: 71 點
綜合積分: 11054 分
注冊時間: 2008-01-16
最后登錄: 2014-11-22
1樓  發表于: 2013-01-08 22:28
呵呵,為了四核開發板,加油
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
級別: 俠客
UID: 54261
精華: 9
發帖: 43
金錢: 665 兩
威望: 133 點
貢獻值: 9 點
綜合積分: 266 分
注冊時間: 2011-08-27
最后登錄: 2014-08-08
2樓  發表于: 2013-01-08 22:47

 回 1樓(kasim) 的帖子

有強迫癥的孩紙真心傷不起,一句話都要改半天...一篇帖子折騰了兩個多小時,比看代碼改代碼難多了...
級別: 風云使者
UID: 36096
精華: 3
發帖: 2536
金錢: 14075 兩
威望: 2815 點
貢獻值: 3 點
綜合積分: 5132 分
注冊時間: 2011-01-11
最后登錄: 2015-11-15
3樓  發表于: 2013-01-09 07:10
支持一下,路過
極度缺錢,求捐贈……支付寶兼郵箱:[email protected]
級別: 俠客
UID: 59652
精華: 0
發帖: 94
金錢: 470 兩
威望: 94 點
貢獻值: 0 點
綜合積分: 188 分
注冊時間: 2011-11-28
最后登錄: 2015-11-27
4樓  發表于: 2013-01-10 22:35
學習,備用
級別: 俠客
UID: 9471
精華: 0
發帖: 61
金錢: 305 兩
威望: 61 點
貢獻值: 0 點
綜合積分: 122 分
注冊時間: 2009-09-30
最后登錄: 2014-10-17
5樓  發表于: 2013-01-11 16:16
級別: 新手上路
UID: 68212
精華: 0
發帖: 35
金錢: 175 兩
威望: 35 點
貢獻值: 0 點
綜合積分: 70 分
注冊時間: 2012-04-19
最后登錄: 2015-02-06
6樓  發表于: 2013-01-12 10:33
好好
級別: 新手上路
UID: 85562
精華: 0
發帖: 7
金錢: 35 兩
威望: 7 點
貢獻值: 0 點
綜合積分: 14 分
注冊時間: 2013-01-06
最后登錄: 2014-08-26
7樓  發表于: 2013-01-13 14:34
ding .barebox學習中
級別: 新手上路
UID: 86070
精華: 0
發帖: 1
金錢: 5 兩
威望: 1 點
貢獻值: 0 點
綜合積分: 2 分
注冊時間: 2013-01-13
最后登錄: 2013-01-13
8樓  發表于: 2013-01-13 17:41
正在學習中
級別: 新手上路
UID: 71836
精華: 0
發帖: 6
金錢: 30 兩
威望: 6 點
貢獻值: 0 點
綜合積分: 12 分
注冊時間: 2012-06-11
最后登錄: 2013-01-31
9樓  發表于: 2013-01-16 07:37
燒寫操作與其他的一樣么?
死或生沙滩排球下载