主题 : tiny210v2如何从SD卡启动裸机程序? 复制链接 | 浏览器收藏 | 打印
级别: 侠客
UID: 44031
精华: 0
发帖: 53
金钱: 265 两
威望: 53 点
综合积分: 106 分
注册时间: 2011-04-21
最后登录: 2014-05-14
楼主  发表于: 2012-12-04 08:19

 tiny210v2如何从SD卡启动裸机程序?

从Tiny210V2_V1.0_120713_sch.pdf和核心板可以知道,OM[0:5]引脚的连接关系:
OM0    R2    NC
OM1    R3    103    VDD_SYS_3.3
OM2    R4    103    VDD_SYS_3.3
OM3    R5    NC    
OM4    R6    NC
OM5    R7    NC
OM0    R8    103    DGND
OM1    R9    NC
OM2    R10    NC
OM3    R11    103    DGND
OM4    R12    103    DGND
OM5    R13    103    DGND
OM1    BOOT_CS
OM1    74LVC1G04->A
OM2    74LVC1G04->Y
OM3    74LVC1G04->Y
通过察看74LVC1G04的数据手册可以知道:
输入引脚与输出引脚AY之间存在如下关系:
    A    Y
    0    1
    1    0
在Tiny210V2_SDK_V1.0_120804_sch.pdf中可以找到BOOT_CS连接到一个连接NAND和DGND的开关。
当开关拨到NAND,也就是默认情况时以NAND 3KB 5CYCLE 8BIT ECC模式启动(PS:友善16BIT ECC怎么来的?);
当开关拨到DGND,也就是地板印有SDBOOT一边时,以SDBOOT模式启动。

$ sudo fdisk /dev/sdb
Command (m for help): p

Disk /dev/sdb: 1967 MB, 1967128576 bytes
255 heads, 63 sectors/track, 239 cylinders, total 3842048 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0xf93b03be

   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *        2048       96389       47171    c  W95 FAT32 (LBA)
/dev/sdb2           96390    27551474    13727542+  83  Linux


建立裸机代码实现点亮LED,并且亮灭循环(代码来源于亚嵌李明老师,感谢李明老师的开源精神,在此鄙视“伪开源”)
start.s代码:$ ls
led.bin  led.elf  led.lst  led.o  led.s  Makefile  mktiny210spl.exe  sd-led.bin

.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    

sudo dd iflag=dsync oflag=dsync if=sd-led.bin of=/dev/sdb seek=1
经上述分析和操作,将SD插入Tiny210v2底板SD SLOT,将开发拨到SDBOOT,再打开电源,LED1应该亮灭循环。
可是实际在上电后友善的Tiny210v2变成了噪音机,蜂鸣器先是一阵鸣响,停顿一下继续它未完的事业。。。。。。
请问友善官方能提供个v2从SD卡启动裸机程序的办法吗?各位V2用户有啥好办法没?
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
1楼  发表于: 2012-12-04 09:25
很快就会提供了,最新MiniTools已经做好准备,到最新动态下载看看吧
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 44031
精华: 0
发帖: 53
金钱: 265 两
威望: 53 点
综合积分: 106 分
注册时间: 2011-04-21
最后登录: 2014-05-14
2楼  发表于: 2012-12-05 19:32

 回 1楼(mindee) 的帖子

嗯,谢谢斑竹,希望友善尽快推出SD BOOT功能啊,每次拔插SD烧进FLASH很麻烦的。中间加个Superboot没关系,还是得要sd boot和NFS boot的哈,这两个重要。
[ 此帖被wjgksc在2012-12-05 19:44重新编辑 ]
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
3楼  发表于: 2012-12-05 20:11

 Re:回 1楼(mindee) 的帖子

引用第2楼wjgksc于2012-12-05 19:32发表的 回 1楼(mindee) 的帖子 :
嗯,谢谢斑竹,希望友善尽快推出SD BOOT功能啊,每次拔插SD烧进FLASH很麻烦的。中间加个Superboot没关系,还是得要sd boot和NFS boot的哈,这两个重要。


NFS一直都是可以的,在MiniTools -> Linux中,设置好启动参数为NFS就可以了,只需烧写内核,完了点“快速启动”就可以使用NFS,也可以使用SD卡启动内核。

关键是设置好启动参数。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 侠客
UID: 44031
精华: 0
发帖: 53
金钱: 265 两
威望: 53 点
综合积分: 106 分
注册时间: 2011-04-21
最后登录: 2014-05-14
4楼  发表于: 2012-12-06 20:12

 回 3楼(mindee) 的帖子

这个还没试过,有空试下,昨天试了下跑裸机,什么时候出linux下的minitools就好了