Unsuccessful Nano code compilation

I compiled DS0201 source with IAR 5.4 making necessary substitution as:
#define __program_start __iar_program_start.
Build complete OK, but when I try to load hex into RideFlasher I got error message:
“Loading data to non physical address: 0x0”.
Really, generated hex file differ with the original one in your source code example. It starts from 0x0.
Any ideas?
Thanks in advance.
Nano.jpg

Its better to use IAR Arm 4.42A. I believe this is what bure used in compiling the codes.
Also, I use the tool DFU FileManager (from DFuse 3.0) to convert a HEX output from the compiled source. After which, I use DFuSe Demonstration utility to write the firmware to the DSO201 via USB.

edit:
I meant DSO Nano.
DFUSE 3.0 (um0412.zip)
A little google search, and I found this link to EWARM 4.42A

I wish you’ll be successful too in your compilation.

I solve with the zero hex start by using STM32F10x_FLASH_offset.icf in linker configuration instead of default one generic_cortex.icf, but now another problem arise when I try to simulate the program.
It’s difficult for me 2 use DFUS as I try to clone the application to Primer2 device which is not ready for it.
Also, it’s very difficult now to find older version of IAR.
Nano1.jpg

You can also try setting the “output converter” in IAR v5.xx to “Output format: Intel extended”. Its in the project settings/option.

Ive already posted the links for the old ide.

O, thanks, I didn’t notice that it’s a link. I’ll instal it.
Yes I use Intelex format but vector allocation problem still exist.

I see, I thought you were also trying on the DSO Nano. Im not sure if using an older IDE will help, since you use it on different hardware and your frimware writing method is a bit different.
Anyways, I think you have to do some modifications in the code if its about the vector base. Most likely its in the file hw_config.h . But unfortunately Im not yet familiar with that.

Reading some post on chinese forums, I found that it is possible to write the firmware aside from the dfuse method. Following the links pointed here. I haven’t tested it though since I don’t want to mess with the stm bootloader.

Hmm…, with 442A everything OK.
Thanks for you attention, vhangell!

hmmm, Im glad everything went well for you.
I just hope, seeedstudio will create their own firmware so that the original source will have progress. There are some bugs in the original source.

Try to do changes in stm32f10x_vector.c as follows:

//void __program_start( void ); //this is for IARv4
void __iar_program_start( void );// this if for IARv5

//#pragma location = “INTVEC” // this is for IARv4
#pragma location = “.intvec” // this is for IARv5

/* STM32F10x Vector Table entries */
const intvec_elem __vector_table[] =
{
{ .__ptr = __sfe( “CSTACK” ) },
//__program_start, //this is for IARv4
__iar_program_start, //this is for IARv5

I have successfully downloaded the .out.

-Icing

Hi,

I am using IAR v 4.42A to compile the APP code, but after all the files are compiled I get this error (see bellow). Does anyone know why this happens?
Thank you.

Check your link configuration:
DSO config.jpg

Thank you for the advice !!! It worked !!!