User Tools

Site Tools


Action disabled: source
prog:mcp560x:20250818-001:index

MPC5644A BAM bootloader limitations (2025-08-18)

Deteil

  • Hello all,
    I'm trying to use the CAN BAM bootloader on a MPC5644A target.
    I'm able to download a simple test program to the RAM using the BAM via CAN, then I try to make this program more powerful and more complex (also bigger dimension), that I can run it correctly in RAM downloading it by the multilink interface but when I download the same code throught the BAM, the program doesn't work, the code download end correctly, it seems to me that the BAM passes the control to my code and then nothing more happens, it seems that the microcontroller is freezed. Are there some code size limitation on the code I download to RAM by the BAM?(Can I use all 192 Kbytes of RAM?)
    Are there some other limitations am I missing?
    I'm using CodeWarrior 10.7.
    Thanks and best regards.
  • 我正在嘗試在 MPC5644A 目標上使用 CAN BAM 引導程式。
    我能夠使用 BAM 透過 CAN 下載一個簡單的測試程式到 RAM,然後我嘗試讓這個程式更強大、更複雜(也更大尺寸),以便透過多鏈路介面下載時能夠在 RAM 中正確運行。但當我透過 BAM 下載相同的程式碼時,程式無法運行,程式碼下載正確結束,我感覺 BAM 將控制權交給了我的程式碼,然後就什麼也沒發生了,好像微控制器卡住了。我透過 BAM 下載到 RAM 的程式碼是否有程式碼大小限制? (我可以使用全部 192 KB 的 RAM 嗎?)
    還有其他限制嗎?
    我使用的是 CodeWarrior 10.7。
    謝謝,並致以最誠摯的問候。

lukaszadrapa NXP TechSupport

lukaszadrapa NXP TechSupport lukaszadrapa NXP TechSupport

  • Hi,
    some hints from my side:
    1. Max size of RAM image should be RAM_SIZE - 16bytes. That means last 16bytes should not be written by BAM. Users usually use small images, so this is not problem.
    2. Be aware that SRAM is initialized by BAM when writing the image. If you want to use RAM memory outside of this image, it must be initialized explicitly by your code.
    3. Core watchdog is running when your application starts. You need to refresh it or disable it.
    4. And make sure the entry point of your image is the first address of image.
    Regards,
    Lukas

petervlna NXP TechSupport

  • Hi,
    there are no limitation according to my knowledge.
    I expect the issue is that your code in RAM is lost on reset, which you do not trigger with debugger.
    Is your code in micro when you attach with debugger, but the code was loaded via serial interface? Check RAM with debugger (with attach without reset).
    I don't think so.
    regards,
    Peter

prog/mcp560x/20250818-001/index.txt · Last modified: 2025/08/18 22:31 by jethro