Hi all, Due to my chip's unique memory structure, I use a tool to combine the seperate binary file of each bank to a big binary file. We have 4 banks. Now we have two problems: 1) If bank 0 is empty (no code at all) the program doesn't run at all. 2) If bank 0 is not empty, when functions in bank 1 is called, it will run the code in bank 0 (rather than bank 1). I checked the bank-switching code in my project, and it's ok.