主题 : How to blink led of tiny210 using SD-boot 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 69850
精华: 1
发帖: 24
金钱: 170 两
威望: 34 点
贡献值: 1 点
综合积分: 68 分
注册时间: 2012-05-12
最后登录: 2012-11-30
楼主  发表于: 2012-05-13 08:42

 How to blink led of tiny210 using SD-boot

## How to blink led of tiny210 using SD-boot

Hint: Only 8K binary file with parity code at the beginning can be executed.
so we get a tool mktiny210spl.exe from uboot, make the .bin file to size 8K then burn it to SD card.

### get mktiny210spl.exe from uboot
    mkdir 1-led-s
    cd 1-led-s
        -> copy tiny210-u-boot-version2.1.tar.gz in 1-led-s
    tar zxf tiny210-u-boot-version2.1.tar.gz
    cp tiny210-u-boot-version2.1/board/samsung/tiny210/tools/mktiny210spl.exe .

### write led.s (source code) and Makefile
vi led.s

    .global _start
    _start:
        ldr r0, =0x1
        ldr r1, =0xe0200280
        str r0, [r1]    

    loop:
        ldr r0, =0x0
        ldr r1, =0xe0200284
        str r0, [r1]    
        bl delay

        ldr r0, =0x1
        ldr r1, =0xe0200284
        str r0, [r1]    
        bl delay

        b loop

    delay:
        ldr r0, =0x100000
    go_on:    
        sub r0, r0, #1
        cmp r0, #0
        bne go_on
        mov pc, lr        

vi Makefile

    all:
        arm-linux-as led.s -o led.o
        arm-linux-ld led.o -o led.elf
        arm-linux-objcopy -O binary led.elf led.bin
        arm-linux-objdump -d led.elf > led.lst
        ./mktiny210spl.exe led.bin sd-led.bin

make

    -> ls -l *.bin
       -rwxr-xr-x 1 limingth limingth   76 2012-05-11 18:21 led.bin
       -rw-r--r-- 1 limingth limingth 8192 2012-05-11 18:21 sd-led.bin

### write sd-led.bin to SD-Card
    insert sd card
    dmesg | grep sdb
        -> /dev/sdb should be found
    sudo dd iflag=dsync oflag=dsync if=sd-led.bin of=/dev/sdb seek=1
        -> 记录了16+0 的读入
           记录了16+0 的写出
           8192字节(8.2 kB)已复制,0.209805 秒,39.0 kB/秒

### now you can test if SD-boot can blink led1
    insert SD card to slot (CON10 of tiny210)
    switch to SDBOOT of S2
    reset and see if it works!
    
[ 此帖被limingth在2012-05-13 08:47重新编辑 ]
九一七大楼
级别: 新手上路
UID: 68149
精华: 0
发帖: 39
金钱: 195 两
威望: 39 点
贡献值: 0 点
综合积分: 78 分
注册时间: 2012-04-19
最后登录: 2012-05-15
1楼  发表于: 2012-05-13 13:28
请问: 哪里能得到 tiny210-u-boot-version2.1.tar.gz 和 mktiny210spl.exe 两个文件?

谢谢!
级别: 新手上路
UID: 69850
精华: 1
发帖: 24
金钱: 170 两
威望: 34 点
贡献值: 1 点
综合积分: 68 分
注册时间: 2012-05-12
最后登录: 2012-11-30
2楼  发表于: 2012-05-14 11:15
uboot 的代码是 liukun321 移植的,可以去他的网站下载:

http://blog.csdn.net/liukun321/article/category/857079

linux 上有关 SD卡启动的 Bootloader 相关代码可以参考我的 Github 目录

https://github.com/limingth/ARM-Codes/tree/master/tiny210-linux-codes

如果要下载的话,最好学习一下 GIT 的用法,也可以一个一个下载。

等代码基本写完调通后,如果需要我可以做一个 tgz 的包方便下载。