(1)如果工程直接復(fù)制另一個(gè)工程,路徑一定要修改,建議重新eclipse工程。
(2)clean Project時(shí)提示rm: can't remove 'build/dhrystone.elf': Permission denied
正在使得該elf文件,上次的JTAG鏈接沒(méi)有斷開(kāi)。此時(shí)可以先關(guān)閉c/c++工作界面,再重新添加C/C++(default),然后在Console中關(guān)閉上次的鏈接。
(3)Debug session'default' already started。
先關(guān)閉c/c++工作界面,再重新添加C/C++(default),然后在Console中關(guān)閉上次的鏈接。
(3)Memory region Used Size Region Size %age Used
c:/efinity/sdk_windows/riscv-xpack-toolchain_8.3.0-2.3_windows/bin/../lib/gcc/riscv-none-embed/8.3.0/../../../../riscv-none-embed/bin/ld.exe: build/ti60f225_oob.elf section `.bss' will not fit in region `ram'
ram: 2363296 B 1 MB 225.38%
c:/efinity/sdk_windows/riscv-xpack-toolchain_8.3.0-2.3_windows/bin/../lib/gcc/riscv-none-embed/8.3.0/../../../../riscv-none-embed/bin/ld.exe: region `ram' overflowed by 1314720 bytes
collect2.exe: error: ld returned 1 exit status
make: *** [../common/standalone.mk build/ti60f225_oob.elf] Error 1
解決辦法:Error的意思是外部存儲(chǔ)器的存儲(chǔ)空間不夠,目前在分配了1MB的情況下使用了225.38%。所以把default.ld中的LENGTH 修改成4M.
重新編譯后的結(jié)果。
(4)Error: libusb_get_string_descriptor_ascii() failed with LIBUSB_ERROR_PIPE
Error: no device found
Error: unable to open ftdi device with vid 0403, pid 6014, description 'ELITES-232DL', serial '*' at bus location '*'
原因:把embedded_swsoc_xxbspefinixEfxSapphireSocopenocdftdi.cfg(ftdi_ti.cfg)修改成下載器讀出來(lái)的名字,比如這里我把ELTES-232DL修改成了Trion T120F324 Development Board。因?yàn)镻rogrammer界面讀到的USB target就是Trion T120F324 Development Board,當(dāng)然也要注意ftdi_vid_pid和ftdi_channel是否正確,如果不正確也會(huì)引起別的問(wèn)題。
(5)Error:cpuConfigFileD:testriscvefx_ti60f225_oob_v2.1embedded_swsapphire_soccpu0.yaml not found
Error: target 'fpga_spinal.cpu0' init failed
原因:debuger路徑問(wèn)題。在riscv和efx之間應(yīng)該有個(gè)斜杠,如報(bào)錯(cuò)中的紅色標(biāo)注。
(6)No source available for "main() at 0x1114"
原因:沒(méi)有打開(kāi)debug環(huán)境變量。打開(kāi)debug開(kāi)關(guān)之后要重新編譯。
(7)Error: timed out while waiting for target halted
原因:1)IP設(shè)置的是soft Jtag,實(shí)際卻用hard Jtag在調(diào)試;
2)CPU沒(méi)有跑起來(lái);
3)debuger與JTAG沖突;
4)在interface 添加JTAG之后生成的信號(hào)與RISCV 連接不正確或者不完全。
(8)SOC燒寫到flash啟動(dòng)不了
一般默認(rèn)片上RAM選擇了4K大小用于bootloader,但是如果手動(dòng)修改了bootloader,比如添加了debug,可能存儲(chǔ)空間不足。
(9)
Error:JTAG scan chain interrogation failed :all ones
Error: CheckJTAGinterface,timings,target power, etc.
Error: Trying to use configured scan chain anyway...
Error: fpga_spinal.bridge: IR capture error:saw ox0f not 0x01
workround:JTAG下載線連接不緊。
(10)soft Jtag與hard Jtag同時(shí)使用時(shí),會(huì)出現(xiàn)第一次debug都需要重新插拔下載器問(wèn)題
workround:查找兩個(gè)下載線的連接位置,注意分開(kāi)兩個(gè)下載器的連接位置。
(10)soc IP生成不了,
workround可能是java 8沒(méi)有安裝
(11) No source available for "(gdbi2),proc[42000j,threadGroupi1],gdb(2),proc420001.0Sthread[1).thread(1j.framel0j'
說(shuō)明:外部存儲(chǔ)器沒(méi)有運(yùn)行起來(lái)
(12)錯(cuò)誤:
mkdir: can't create directory 'build/xxx/embedded_sw/sapphire_soc/software/standalone/uartInterruptDemo/': No such file or directory
make: *** [../common/standalone.mk build/xxx/embedded_sw/sapphire_soc/software/standalone/uartInterruptDemo/src/main.o] Error 1
"make all" terminated with exit code 2. Build might be incomplete.
WorkWround : Eclipse路徑太長(zhǎng)。
在common文件夾下,找到standalone.mk文件。
把路徑:
OBJS := $(realpath $(OBJS))
修改成:
OBJS := $(addprefix $(PROJ_NAME)/,$(OBJS))
如下圖所示(感謝客戶為我們提供解決方案)
(13)Debug時(shí)出Break at address"0xf90000000" with no debug information avalibale,oroutside of program code
(14)Info : JTAG tap: fpga spinal.bridge tap/device found: 0x10660a79 (mfg: 0x53c (Efinix Inc), part: 0x0660, ver: 0xl)
Error:-
Error: Can't communicate with the CPu
Error: !!!
原因(1)RISCV中FPGA Top Port選擇不對(duì)。
(13)
原因:JTAG配置不正確,可能是JTAG channel號(hào)沒(méi)有選擇正確。
update2: 增加了(11)(12)(13)
-
RISC-V
+關(guān)注
關(guān)注
45文章
2328瀏覽量
46675
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論