Dear Owen_Su
感謝您的回覆
其實我已經在XMC1302上實現ASCLoader燒錄Hex檔, 參考文件為APP32277 [ASC Bootstrap Loader for XMC1000]
但當時是使用P1.2/P1.3腳位實現功能, P0.14/P0.15腳位則無法用同樣的方式進行燒錄
而現在在使用XMC1100要進行生產燒錄時為加快生產速度, 所以也想使用ASCLoader方式燒錄程式
但XMC1100並無P1.2/P1.3腳位, 但使用P0.14/P0.15腳位又無法成功, 所以才來發問這其中有什麼差異
謝謝
Dear Owen_Su
您提供的附件檔案我之前已經嘗試過, 也是無法在XMC1100上實現
在不久前我也在論壇上發問過相關問題, 但之後就無下文
圖片為我使用"Infineon-AP32277_XMC1000_ASC_Bootstrap_Loader_Example_Code.zip-ApplicationNotes-v01_05-EN"燒錄失敗的畫面
畫面顯示我有連接到XMC1100, 並傳送一些指令, 但到了Erase階段就沒有任何反應
其他人是否有辦法進行驗證?
謝謝
Dear Owen_Su
我先說明我目前的做法
1. 先將XMC1100設定為ASC Mode
2. 將USB to TTL通訊線連接至XMC1100
3. 開啟"\Infineon-AP32337-XMC1000-software-update-XMC1000-using-ASC-example-codes-AN-v01_00-EN\AP32337-XMC1000-SW_Update_using_ASC\XMC1x_ASC_loader\ASC_loader\Debug\ASC_loader.exe"
4. 依照"XMC1000_Software_update_AppNote.pdf" Figure 14 Window GUI illustrates the flash programing with Application 1.進行輸入
5. 結果
ERROR: ASC BSL initialization failed - quitting
我查看"XMC1x_ASC_loader"程式內容, 他在"init_ASC_BSL"程序是送出"0x5D"
這與您第一次讓我參考的附件程式是不同的, 第一個參考附件傳送的是"0x6C"
再看"XMC1000_Software_update_AppNote.pdf"的內容, 有發現前面有寫需要在SRAM內載入程式
這樣與我一開始的目的"新的MCU使用ASCLoader方式燒入程式, 以加快生產速度"有出入
請問我哪邊需要再修改測試方式?
謝謝
Hi, @User9266 ,
两个例子都需要Flash loader来建立PC与目标之间的联系,所以都是需要去修改文件夹中的ld文件的,你可以手动进行修改,也可以通过设置直接链接到我们提供的ld文件,这样才能保证我们的flash loader 的起始位置是在SRAM的0x20000200,也才能对Flash进行操作。这点可能需要您去确认一下您的ld文件中flash的地址。
另外,您可以提供给我们您正在使用的XMC1100上的芯片型号嘛?对于第二个例子出现的报错也应该是未对ld文件进行修改造成的,您可以修改之后再进行尝试。或者您可以再将您第一个例子的测试步骤也描述一下,我们这边对比之后给您进一步的反馈。感谢您的理解与支持。
Regards,
Owen_Su
Dear Owen_Su
感謝您的熱心協助
我先說明我直接使用"Infineon-AP32277_XMC1000_ASC_Bootstrap_Loader_Example_Code.zip-ApplicationNotes-v01_05-EN"方案對XMC1302燒錄Hex檔案, 使用P1.2/P1.3時可以正常燒錄, 燒錄結果如下
同樣的程式, 同樣的步驟使用P0.14/P0.15進行燒錄卻無法成功, 會一直卡在Erase步驟
同樣的我對XMC1100進行燒錄Hex檔, 也得到同樣的結果, 使用P0.14/P0.15腳位燒錄
我始終無法在P0.14/P0.15腳位上實現燒錄Hex檔的動作
我想知道的是我哪個環節錯誤? 是產生Hex檔需要調整?
還是 XMC1x_ASCLoader.hex需要修改?
還是其他原因?
我使用的XMC1100型號為: XMC1100-T016X0016AB
再次感謝您的協助
謝謝
Hi, @User9266 ,
经过测试,我们找到了您XMC1300无法通过P0.14/P0.15进行boot loader的原因了。您可以打开DAVE project中的ASC_Init文件,其中的代码将USIC模块配置到了P1.3 as RXD,如果您需要在P0.14/P0.15上进行boot loader,则需要在代码中进行修改。
而您使用的XMC1100是没有P1.2/P1.3的,所以您可以将代码修改过后再试一次。希望这能够帮到您。
Regards,
Owen_Su
Owen_Su
謝謝您的協助
根據APP32277文件說明, 若我要使用ASC Bootstrap Loader時, 可以選擇P0.14/P0.15或P1.2/P1.3進行載入程式的操作通道
我在DAVE上測試完成後會產生一個Hex檔案, 所以我可以透過這ASC Bootstrap Loader方式直接載入我的程式到MCU
由上述的說明可以得知我應該不需要對"DAVE project中的ASC_Init文件"進行修改, 因為這個Project並無應用到ASC Bootstrap Loader操作上, 不曉得我對這部分的理解是否有出入, 理解錯誤的地方還請您指正
我想我應該再描述一次我的操作方式
1. 確認XMC1100為ASC Mode
2. 使用USB to TTL連接XMC1100與PC, XMC1100使用P0.14/P0.15腳位
3. 打開"XMC1x_Load.exe"[路徑:Infineon-AP32277_XMC1000_ASC_Bootstrap_Loader_Example_Code.zip-ApplicationNotes-v01_05-EN\XMC1x_Load\Debug]
4. 依據APP32277文件說明進行燒錄動作
5. 結果會卡在Erase階段
PC與XMC1100是否有連接成功? --> 由前幾個步驟可以確認是有連接到XMC1100, 只是到了Erase階段XMC1100就沒有回應導致"XMC1x_Load.exe"中止程序
謝謝
Dear Owen_Su
附上我目前的架構圖
XMC1100是使用
與DAVE-3.1.10設定為ASC_BSL
提供給您參考
謝謝
Hi, @User9266 ,
1)根据您的描述,我们建议您可以手动试一下自己在代码中进行修改P0.14/P0.15,这样才能够排除掉这个可能性。
2)另外我们对比了一下XMC1100_Blinky.hex与XMC1200_Blinky.hex文件,这两个文件还是存在一定的区别的,建议您新建一个XMC1100_Blinky的工程再烧录进去试试。
Regards,
Owen_Su
Dear Owen_Su
所以依照您的作法, 我先在DAVE建立一個新的XMC1100的專案, 編譯完成後會產生一個Hex檔, 程式內容就只讓一個I/O輸出為High, 然後再依照我測試的架構, 將燒錄通道連接XMC1100上的P0.14/P0.15腳位, 執行C++程式[XMC1x_Load.exe]進行燒錄動作
請問我要在哪個步驟執行"自己在代码中进行修改P0.14/P0.15"?
謝謝
在将烧录通道连接到XMC1100的P0.14/P0.15之前,将ASC_Init函数中的USIC通道配置进行修改,如我之前的截图所示。
Dear Owen_Su
所以我要使用DAVE將XMC1x_ASCLoader開啟後, 將專案內所有原設定P1.2/P1.3改為設定P0.14/P0.15, 並將其編譯
再依照我的測試流程, ... 將USB To TTL的TX/RX連接XMC1100上的P0.14/P0.15腳位, 執行C++程式[XMC1x_Load.exe]進行燒錄動作
請問您說明的測試方式是這樣的嗎?
謝謝
对的,然后导入的hex文件也需要您重新编译一个XMC1100_Blinky.hex,注意选择正确的芯片型号。
Dear Owen_Su
依照您的建議將APP32277資料夾內DAVE4/XMC1x_ASCLoader開啟, 將專案內所有原設定P1.2/P1.3改為設定P0.14/P0.15, 並將其編譯
後續再依照我的測試流程, ... 將USB To TTL的TX/RX連接XMC1100上的P0.14/P0.15腳位, 執行C++程式[XMC1x_Load.exe]進行燒錄動作
我有用DAVE建立一個XMC1100的專案, 只讓P0.5設定為High
結果依然後卡在Erase
請問我是哪個步驟有錯誤?
謝謝
Hi,
请问新生成的hex文件有复制到这两个文件夹的目录下嘛?包括XMC1100_Blinky.hex以及XMC1x_ASCLoader.hex.
Dear Owen_Su
依照您的建議將"XMC1x_ASCLoader"編譯後的"XMC1x_ASCLoader.hex"替換掉原本的檔案, 重新再進行燒錄操作, 結果是"燒錄成功"!!
非常感謝您的協助, 這討論中解答了一些疑惑, 其中最大疑惑的就是XMC1x_ASCLoader.hex的內容到底是做什麼用的
這邊希望原廠能夠對APP32277進行修改, 將示範的腳位改成P0.14/P0.15, 或許可以讓一些像我不太明白其中原理的使用者可以快速地應用
最後再次感謝您的熱心協助
謝謝