看板 LinuxDev 關於我們 聯絡資訊
請問一下各位版友: 我在u boot上開發程式,增加屬於自己的指令,類似tftp從tftp server下載檔案到 device,我想做md5的驗證,所以把lib_generic/md5.c拿進來用,建立好image上傳 到device上執行,這時發生了在開機時實行到board.c中 i2c_init (CFG_I2C_SPEED, CFG_I2C_SLAVE);機器就死當了,只要不把MD5.c build 進來就不會發生死當,我知道這問題不好敘述,請問一下各位版友有可能是什麼情形 要如何解決我看了system.map兩者的不同如下,看是否可以看出端倪,謝謝各位 1.有md5.c: 8108044c t init_func_i2c 8109b9dc T i2c_init 2.無md5.c 8108044c t init_func_i2c 8109acdc T i2c_init -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.205.73
swh:我逐步加code的方式把md5.c的程式碼,慢慢搬進u-boot,發現中 02/22 16:27
swh:間過程,我順利開機後輸入指令就會出現問題,有可能在建立IMAG 02/22 16:30
swh:時,互相蓋到嗎?要怎樣驗證,或者有其它的想法呢? 02/22 16:31
askacis:或許可以查一下map檔,看一下armboot_end這個值的位置 02/22 20:05
askacis:是否真的是在最後面,uboot 將自己relocate到ram上時會用 02/22 20:12
askacis:來當作結束的點;也可以反組譯start.s看一下armboot_end是 02/22 20:13
swh:我有點不太懂,不過我會去確認看看 02/22 22:52
swh:我朋友在同樣平台,在寫其他功能時也發生同樣的狀況,就是新的 02/22 22:53
swh:u-boot在輸入指令時,發生全部判斷成無效指令,之前寫PIC單晶 02/22 22:55
swh:片的經驗,程式碼有分page,沒有切換到對的page就會在jump時發 02/22 22:57
swh:生錯誤,不知道u-boot有沒有類似的設定 02/22 22:58
swh:我發現我的問題跟這個人是一樣的 02/23 00:28
swh:.html,不過沒有人回他@@!!,難道這不是問題嗎? 02/23 00:30
swh:我反組譯start.o沒有發現armboot_end類似的label 02/23 10:24
shaopin:您沒有FPGA可以設置中斷點? 通常是data fetch abort了吧 02/23 12:34
shaopin:sorry, 弄錯, 應該說是Debugger, ICE才對... 02/23 12:35
swh:目前是沒有JTAG可用的@@!!,看來問題要先跳過了 02/23 16:34
askacis:查了一下新版的的u-boot,armboot_end已經被改掉了,可以確 02/25 09:00
askacis:認System.map裡 _end是不是最後一個,如果這個_end的値有 02/25 09:10
askacis:不是在最後一個的話,有些TEXT段的東西不會被載入,則當跑到 02/25 09:11
askacis:沒被relocate到RAM上的function時就會死當了... 02/25 09:12