|
|
|
開(kāi)發(fā)環(huán)境是CubeIDE + STM32N647,工程是基于正點(diǎn)原子官方AI人體檢測(cè)例程,然后移植了自己的YOLOv8n模型。現(xiàn)在遇到了一個(gè)非常詭異的問(wèn)題:無(wú)論我怎么修改app.c、app_config.h這些源文件,在CubeIDE里點(diǎn)Build之后控制臺(tái)顯示“Build Finished, 0 errors”,Debug文件夾里的HEX文件時(shí)間戳也確實(shí)更新了,用STM32CubeProgrammer燒錄這個(gè)最新的HEX文件也提示燒錄成功,但板子跑起來(lái)之后,程序行為跟修改之前一模一樣,完全沒(méi)有任何變化。為了驗(yàn)證是不是我改的代碼邏輯有問(wèn)題,我在main.c的HAL_Init()后面直接加了一段LED閃爍的代碼,讓板子上電后先閃幾下再往下跑,結(jié)果燒錄后LED根本不閃,就感覺(jué)這段代碼根本不存在一樣。更奇怪的是,如果我把之前官方人體檢測(cè)例程那個(gè)舊的HEX文件燒回去,程序就運(yùn)行得完全正常,但是換成我自己工程哪怕只是改一行無(wú)關(guān)代碼之后編譯出來(lái)的HEX,就又變回舊的行為。我已經(jīng)試過(guò)手動(dòng)刪除整個(gè)Debug文件夾再重新編譯、在項(xiàng)目屬性里把優(yōu)化等級(jí)改成-O0再編譯、反復(fù)確認(rèn)燒錄的路徑是最新生成的HEX,所有步驟都確認(rèn)無(wú)誤,但問(wèn)題依舊。現(xiàn)在完全想不通問(wèn)題到底出在哪個(gè)環(huán)節(jié),CubeIDE顯示的編譯成功是不是假象?為什么生成的HEX文件時(shí)間戳變了但內(nèi)容看起來(lái)完全沒(méi)變?有沒(méi)有遇到過(guò)類(lèi)似情況的朋友,幫忙指點(diǎn)一下排查方向,感謝了。 |
|