lihgong 发表于 2008-12-25 13:38:39

[分享] 我寫的 S3C2410 bootloader【恢复】

附檔是一份我自己寫的 bootloader

用 SBC-2410x 這片版子開發的

如果你用 Samsung S3C2410 這顆 ARM9, 開機的流程應該是大同小異





bootloader 主要有下面的特徵...



        * Easy to read  (自己重新刻過, 起碼我自己覺得還滿好讀的 XD)

        * NAND Flash support (Samsumg K9F1208)

        * MMU support





我自己寫了一個 HAL (Hardware Abstraction Layer)

裡面有以下的 driver, 放在 src/HAL 底下



        * Ring buffer driver

        * UART driver (depends on ring buffer)

        * ISR module

        * Timer module

        * LED module

        * USB module





我也把 uC/OS II 移植進去, src/ucos2/底下有相關的檔案...



        * os/           從 Micrium 網站下載回來的 source code



        * ARM/          移植到 ARM 相關的檔案



        * Driver/       在 ucos2 裡的 device driver

                        包括 ring buffer 和 UART, 這部分其實和 HAL 的類似



        * App/          包括一個 RS232 使用的 shell, 提供以下功能...



                        Support command of Q_Q shell:

                        help      Show this help

                        irq       Show IRQ status, incluing IRQ name, # of ISR

                        r1        Read 1-byte from memory

                        r2        Read 2-byte from memory

                        r4        Read 4-byte from memory

                        uart      UART related operation

                        w1        Write 1-byte to memory

                        w2        Write 2-byte to memory

                        w4        Write 4-byte to memory



                        還有一個 USB-shell, 提供以下功能, 主要是拿來讀寫Flash



                        r1             Read 1-byte from ARM memory

                        r2             Read 2-byte from ARM memory

                        r4             Read 4-byte from ARM memory

                        rr             Read a range of memory from ARM

                        w1             Write 1-byte to ARM memory

                        w2             Write 2-byte to ARM memory

                        w4             Write 4-byte to ARM memory

                        wr             Write file to ARM memory

                        flash_erase    Erase one block of flash

                        flash_read     Read blocks of flash to file

                        flash_write    Write file to flash

                        help           Show this help





我用的 JTAG 是 J-Link, 我利用 J-Link 可以 load binary 到 ARM 的特性

寫了一個 Flash Writer, 放在 Flash_Writer/ 底下



        * src/Flash_Writter/            ARM程式, 把 RAM 的資料寫到FLASH

        * src/Flash_Writter_VC++/       產生 script 給 J-Link, 初始化燒錄環境





這個 project 很大一部份是練習寫 USB 相關的程式, 相關的檔案如下...



        * USB/dist                      LibUSB32 相關的安裝檔

        * USB/driver/                   我用 LibUSB32 為我的版子產生的 driver

        * USB/Win32 App/usb_shell       和 ARM 的 USB module 溝通的程式





----





感謝網路上很多朋友的分享, 我才能寫出這些程式

把相關的 source code 分享出來, 給需要的人使用

如果你也正在研究bootloader, 希望這份資料幫得上忙



Lihgong Wu





----





http://qqmou.mail.googlepages.com/ARM_bootloader.rar

Jnny_CN 发表于 2008-12-25 14:40:43

非常感谢楼主的分享。。。。。。

oet-oet 发表于 2008-12-25 21:17:00

好东西,顶一下

mtheory 发表于 2008-12-25 21:18:57

good!!!

ALI3DAWN 发表于 2008-12-25 22:12:25

好资料啊,我也在学2410.

fwjnihao 发表于 2011-12-27 13:19:40

楼主,麻烦把资料发我一份吧,这里没法下载。谢谢 306761129@qq.com

alexbird 发表于 2011-12-27 13:34:08

惊见挖坟贴

linliqiang 发表于 2011-12-27 18:10:03

先前在学校参加了十天培训,但是没做出自己的Bootloader。先参考一下。感谢楼主。

miyadai 发表于 2011-12-28 14:26:09

学习一下!

yuele 发表于 2012-11-19 18:26:07

下载不了呀。楼主,能不能传一份给我。谢谢,tsen_y@163.com
页: [1]
查看完整版本: [分享] 我寫的 S3C2410 bootloader【恢复】