Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

XMC™ Forum Discussions

User9266
Level 3
Level 3
10 sign-ins 10 replies posted 5 replies posted

Dear All

我想使用ASCLoader方式在XMC1100上燒錄程式

看一些資料有提到可以使用P0.14/ P0.15腳位進行燒錄

並使用官方提供的C++程式進行測試, 但始終是失敗的

想請問XMC1100是否支援ASCLoader燒錄功能?

謝謝

0 Likes
1 Solution
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, 

    请问新生成的hex文件有复制到这两个文件夹的目录下嘛?包括XMC1100_Blinky.hex以及XMC1x_ASCLoader.hex.

Owen_Su_0-1670573585994.png

 

View solution in original post

0 Likes
20 Replies
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

您好,

    感谢您支持英飞凌的产品。

    XMC1000系列的产品都支持ASC_BSL和SSC_BSL,附件为相应的参考资料,其中包括了详细的Application note还有相关的代码,希望这能够帮到您。

Owen_Su_0-1670465779137.png

Regards,

Owen_Su

0 Likes
User9266
Level 3
Level 3
10 sign-ins 10 replies posted 5 replies posted

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腳位又無法成功, 所以才來發問這其中有什麼差異

謝謝

0 Likes
User9266
Level 3
Level 3
10 sign-ins 10 replies posted 5 replies posted

Dear Owen_Su

您提供的附件檔案我之前已經嘗試過, 也是無法在XMC1100上實現

在不久前我也在論壇上發問過相關問題, 但之後就無下文

圖片為我使用"Infineon-AP32277_XMC1000_ASC_Bootstrap_Loader_Example_Code.zip-ApplicationNotes-v01_05-EN"燒錄失敗的畫面

Fail Result.jpg

畫面顯示我有連接到XMC1100, 並傳送一些指令, 但到了Erase階段就沒有任何反應

其他人是否有辦法進行驗證?

謝謝

 

0 Likes
User9266
Level 3
Level 3
10 sign-ins 10 replies posted 5 replies posted

Dear Owen_Su

我之前已經有嘗試過附件上的燒錄程式, 但無法成功, 卡在Erase階段

Fail Result.jpg

請問是否可以協助驗證這個附件是可以用的嗎?

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    我们这边会进行相关测试并尽快给您回复,感谢您的理解与支持。

Regards,

Owen_Su

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

您好,

    您可以试一下这个例子。

Regards,

Owen_Su

0 Likes

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. 結果

User9266_0-1670484305108.png

ERROR: ASC BSL initialization failed - quitting

我查看"XMC1x_ASC_loader"程式內容, 他在"init_ASC_BSL"程序是送出"0x5D"

這與您第一次讓我參考的附件程式是不同的, 第一個參考附件傳送的是"0x6C"

再看"XMC1000_Software_update_AppNote.pdf"的內容, 有發現前面有寫需要在SRAM內載入程式

這樣與我一開始的目的"新的MCU使用ASCLoader方式燒入程式, 以加快生產速度"有出入

請問我哪邊需要再修改測試方式?

謝謝

 

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    两个例子都需要Flash loader来建立PC与目标之间的联系,所以都是需要去修改文件夹中的ld文件的,你可以手动进行修改,也可以通过设置直接链接到我们提供的ld文件,这样才能保证我们的flash loader 的起始位置是在SRAM的0x20000200,也才能对Flash进行操作。这点可能需要您去确认一下您的ld文件中flash的地址。

    另外,您可以提供给我们您正在使用的XMC1100上的芯片型号嘛?对于第二个例子出现的报错也应该是未对ld文件进行修改造成的,您可以修改之后再进行尝试。或者您可以再将您第一个例子的测试步骤也描述一下,我们这边对比之后给您进一步的反馈。感谢您的理解与支持。

Owen_Su_0-1670489038381.png

Regards,

Owen_Su

0 Likes

Dear Owen_Su

感謝您的熱心協助

我先說明我直接使用"Infineon-AP32277_XMC1000_ASC_Bootstrap_Loader_Example_Code.zip-ApplicationNotes-v01_05-EN"方案對XMC1302燒錄Hex檔案, 使用P1.2/P1.3時可以正常燒錄, 燒錄結果如下

螢幕擷取畫面 2022-12-08 170746.jpg

同樣的程式, 同樣的步驟使用P0.14/P0.15進行燒錄卻無法成功, 會一直卡在Erase步驟

螢幕擷取畫面 2022-12-08 171422.jpg

同樣的我對XMC1100進行燒錄Hex檔, 也得到同樣的結果, 使用P0.14/P0.15腳位燒錄

Fail Result.jpg

我始終無法在P0.14/P0.15腳位上實現燒錄Hex檔的動作

我想知道的是我哪個環節錯誤? 是產生Hex檔需要調整?

還是 XMC1x_ASCLoader.hex需要修改?

還是其他原因?

我使用的XMC1100型號為: XMC1100-T016X0016AB

再次感謝您的協助

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    经过测试,我们找到了您XMC1300无法通过P0.14/P0.15进行boot loader的原因了。您可以打开DAVE project中的ASC_Init文件,其中的代码将USIC模块配置到了P1.3 as RXD,如果您需要在P0.14/P0.15上进行boot loader,则需要在代码中进行修改。

Owen_Su_0-1670552767154.png

    而您使用的XMC1100是没有P1.2/P1.3的,所以您可以将代码修改过后再试一次。希望这能够帮到您。

Regards,

Owen_Su

0 Likes

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"中止程序

謝謝

0 Likes

Dear Owen_Su

附上我目前的架構圖

螢幕擷取畫面 2022-12-09 114733.jpg

XMC1100是使用

User9266_0-1670557782976.png與DAVE-3.1.10設定為ASC_BSL

提供給您參考

謝謝

 

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, @User9266 ,

    1)根据您的描述,我们建议您可以手动试一下自己在代码中进行修改P0.14/P0.15,这样才能够排除掉这个可能性。

    2)另外我们对比了一下XMC1100_Blinky.hex与XMC1200_Blinky.hex文件,这两个文件还是存在一定的区别的,建议您新建一个XMC1100_Blinky的工程再烧录进去试试。

Regards,

Owen_Su

0 Likes

Dear Owen_Su

所以依照您的作法, 我先在DAVE建立一個新的XMC1100的專案, 編譯完成後會產生一個Hex檔, 程式內容就只讓一個I/O輸出為High, 然後再依照我測試的架構, 將燒錄通道連接XMC1100上的P0.14/P0.15腳位, 執行C++程式[XMC1x_Load.exe]進行燒錄動作

請問我要在哪個步驟執行"自己在代码中进行修改P0.14/P0.15"?

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

在将烧录通道连接到XMC1100的P0.14/P0.15之前,将ASC_Init函数中的USIC通道配置进行修改,如我之前的截图所示。

0 Likes

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]進行燒錄動作

請問您說明的測試方式是這樣的嗎?

謝謝

 

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

对的,然后导入的hex文件也需要您重新编译一个XMC1100_Blinky.hex,注意选择正确的芯片型号。

0 Likes

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

螢幕擷取畫面 2022-12-09 154359.jpg螢幕擷取畫面 2022-12-09 154455.jpg

請問我是哪個步驟有錯誤?

謝謝

0 Likes
Owen_Su
Moderator
Moderator
Moderator
50 solutions authored 100 sign-ins 100 replies posted

Hi, 

    请问新生成的hex文件有复制到这两个文件夹的目录下嘛?包括XMC1100_Blinky.hex以及XMC1x_ASCLoader.hex.

Owen_Su_0-1670573585994.png

 

0 Likes

Dear Owen_Su

依照您的建議將"XMC1x_ASCLoader"編譯後的"XMC1x_ASCLoader.hex"替換掉原本的檔案, 重新再進行燒錄操作, 結果是"燒錄成功"!!

非常感謝您的協助, 這討論中解答了一些疑惑, 其中最大疑惑的就是XMC1x_ASCLoader.hex的內容到底是做什麼用的

這邊希望原廠能夠對APP32277進行修改, 將示範的腳位改成P0.14/P0.15, 或許可以讓一些像我不太明白其中原理的使用者可以快速地應用

最後再次感謝您的熱心協助

謝謝

0 Likes