主题 : tiny4412裸机程序无法下载到DRAM 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 101486
精华: 0
发帖: 16
金钱: 85 两
威望: 17 点
贡献值: 0 点
综合积分: 32 分
注册时间: 2014-03-10
最后登录: 2018-07-02
楼主  发表于: 2014-03-20 18:34

 tiny4412裸机程序无法下载到DRAM

请问大神为什么我的tiny4412裸机程序用Minitools无法直接下载到DRAM运行,总是提示:Set User-Bin's Address Failed
tiny4412的DRAM首地址是多少,是0x40000000k吗?
新手上路,請多包涵! 要是問什麼笨問題,請大家見諒!
级别: 新手上路
UID: 103928
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
贡献值: 0 点
综合积分: 84 分
注册时间: 2014-05-09
最后登录: 2018-08-22
1楼  发表于: 2014-05-27 16:13
我剛剛也是遇到一樣的狀況
我本來是想在tiny4412的板子上,實作"Linux平台下Tiny6410裸機程序開發指南"第二章滙編點亮LED


我的實驗流程如下
1, 查詢Exynos 4412的DRAM, Watchdog以及GPIO Address
DRAM Address: 0x1000_0000
WatchDog Address: 0x1006000  (datasheet上寫成0x1006_000, 後面少一個0,我猜是寫錯的)
GPIO Pins (connect to LED) : GPM4_0,GPM4_1,GPM4_2,GPM4_3
GPIO GPM4CON Address : 0x1100_0000 (Base) + 0x02E0 (Offset)
GPIO GPM4DAT Address : 0x1100_0000 (Base) + 0x02E4 (Offset)

2.  更改程式碼中的address,另外GPIO的值也要改 (原先Tiny6410的LED是在GPK4~GPK7(Higher 4-bit), 而Tiny4412的LED則是GPM4_0~GPM4_3 (Lower 4-bit)

3. 更改Makefile裡指定的address,改成0x40000000,然後執行make,產生出led.bin

4. 利用MiniTools來做裸機程序下載,將RAM Address改成0x40000000,選擇剛剛產生的led.bin,然後點選"下載運行"


接著就出現"Set User-Bin's Address Failed" 了
如果有任何做錯的步驟,或是有遺漏的地方,請麻煩跟我說一下.

謝謝!
新手上路,請多包涵! 要是問什麼笨問題,請大家見諒!
级别: 新手上路
UID: 103928
精华: 0
发帖: 42
金钱: 210 两
威望: 42 点
贡献值: 0 点
综合积分: 84 分
注册时间: 2014-05-09
最后登录: 2018-08-22
2楼  发表于: 2014-05-27 18:56
剛才又做了另一個實驗----" 使用SD卡脱机烧写系统"

1    开发板的硬件基本信息
(1) Superboot-4412
(2) Ver: 1.6(20140317)
(3) CPU: Exynos4412 1.5GHz
(4) RAM: 1GB
(5) eMMC: 4GB
(6) Touch Device: 1-wire
(7) LCD Type: HD700(Auto)


我依照"Tiny6410刷機指南"第24頁,去修改FriendlyARM.ini
===============================================
#This line cannot be removed. by FriendlyARM(www.arm9.net)

CheckOneButton=No
Action = Null
OS = UserBin

LowFormat = YES
VerifyNandWrite = No

LCD-Mode = No
CheckCRC32=No

StatusType = Beeper | LED
USB-MOde=No

############### UserBin #################
UserBin-Image=TEST/led.bin
userBin-StartAddress=40000000

===============================================

雖然刷機指南說
(1) 当 Action 定义为”Install”时,它将被烧写到 Nand  Flash 的 Block0 开始的地方。
(2) 当 Action 定义为”Run”时,被指定的 SD 卡中的单文件系统映像将被加载到指定的该内存地址执行

但是我執行的結果卻表示OS=UserBin不支援Install或Run 底下是錯誤訊息

===============================================
Superboot-4412 V1.6(20140317) by FriendlyARM

Booting from SD
eMMC Low-level formating...
eMMC Low-level formatted.
not support Action 'RUN'  with OS 'USERBIN'

Superboot-4412 V1.6(20140317) by FriendlyARM

Booting from SD
eMMC Low-level formating...
eMMC Low-level formatted.
not support Action 'INSTALL'  with OS 'USERBIN'
===============================================

所以我只好將Action設為Null,但是執行時,LED卻會出現跑馬燈,但是我程式裡卻是把GPIO都設為0,所以照理說,LED燈號應該都不會變化,也就表示設為Action=Null的燒錄動作應該是失敗的
我附上我的修改過的檔案,給大家參考,希望有人能解出4412裸機測試的方式
附檔內容包含
1. led測試程序: start_4412.S
2. Makefile
3. make 之後產生出來的bin檔 : led.bin
4. FriendlyARM.ini
附件: 4412_led_test.zip (2 K) 下载次数:31