cancel
Showing results for 
Search instead for 
Did you mean: 

Strange! I2C1 stop working after code passed 8Kb when int vect reallocated to 0x4000

nedelcu
Associate II
Posted on September 15, 2013 at 19:30

Strange! I2C1 stop working after code passed 8Kb when int vect reallocated to 0x4000

I am using a USB bootloader, and all the sources must be compiled with interrupt vectors realocated at 0x8004000. After the compiled source pass about 8Kb, the I2C does not work any more!!!

3 REPLIES 3
Posted on September 15, 2013 at 19:44

You should perhaps then examine the output from your compiler/linker and see if you can ascertain why it's failing. You don't mention a tool-chain.

You should also look at the .MAP file, and make sure that your application has been completely downloaded and verified.
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
nedelcu
Associate II
Posted on September 15, 2013 at 20:07

Hello and thanks for the fast reply.

I use Keil.

Attached you have the zip with the project.

The thing is that the program is working, only the I2C stop working.

And I don't own a debugger.

Posted on September 15, 2013 at 22:30

If you don't have a debugger it going to be hard to do much in the way of diagnostics. The ST-LINK on the various Discovery boards is a pretty cheap solution.

Does the USB boot loader have some limitations related to the size of the binary? Details of the board and boot loader?

Can you use the ST USB DfuSe boot loader built into the System Loader (BOOT0 = High at reset), or via serial.

If you can't do any of those things, you could perhaps dump or checksum the binary image and check that, early in the start up process.
Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..