USBDM vs Pemicro

cancel
Showing results for 
Search instead for 
Did you mean: 

USBDM vs Pemicro

Jump to solution
850 Views
Contributor II

Hi, i have a .s19 file that is possible load on a 9S12XDT512 using Prog12Z and Pemicro Multilink, but the same .s19 file if i try upload it with USBDM, i get error " program data not within target flash memory".

Why???

1 Solution
134 Views
NXP Employee
NXP Employee

Hi Jaw,

It seems, that there may be problem with address format.

I suppose that you try to load code through CodeWarrior IDE and USBDM interface. Correct?

 

The CW accepts only addresses in 64kB memory map (16bit) and banked (logical) format (24bit, PPAGE + address in 0x8000~0xBFFF memory window).

 

The PEmicro tools typically accept only addresses in 64kB memory map (16bit) and linear (global) format (24bit).

 

See attached memory map in Excel file for your reference.

 

The .s19 files may be simply converted.

The NXP offers SRecCvt tool:

https://www.nxp.com/webapp/sps/download/license.jsp?colCode=SRECCVTSW

 

The PEmicro offers Log2Phy tool. However, this tool convert .s19 files only from banked to the linear address format.

https://www.pemicro.com/downloads/download_file.cfm?download_id=15

I hope it helps you.

Best regards

Radek

View solution in original post

0 Kudos
9 Replies
134 Views
Contributor II

I am not 100% sure but of this explanation

In a developement of a program in GCC GNU for 9s12xep100.
I yet use it with PPAGE on IFLASH and it works ok. (Adresses of memory.x on GCC 70_0000 to 7F_FFFF).
But now i want use EPAGE on DFLASH.(Adresses of memory.x on GCC 10_0000 to 10_FFFF), but Noice12 debugger can´t program in this range.

What happened?
How can i do to program DFLASH with Noice12???  

It occurs the same https://community.nxp.com/message/973723?commentID=973723#comment-973723

It is independent of the programmer which uses!!!!! the same error with USBDM AND PEMICRO

0 Kudos
134 Views
NXP Employee
NXP Employee

Hi Jaw,

Are you really sure that you use S12XDT512 MCU?

Range 70_0000 to 7F_FFFF refers to 1MB Flash and range 10_0000 to 10_FFFF has 64kB.

The S12XDT512 have only 512kB P-Flash and 4KB EEPROM at address 0x13F000 instead of D-Flash.

 

If you use S12XEP100 device, the P-Flash range is OK(70_0000 to 7F_FFFF), however size of D-Flash is still incorrect (only 32kB). It should be 10_0000 to 10_7FFF instead of 10_0000 to 10_FFFF.

 

Address ranges 70_0000 to 7F_FFFF and 10_0000 to 10_FFFF are in global(linear) address format.

Did you try converting your *.s19 file into banked address format by the SRecCvt tool?

In your initial post, you reported an issue with USBDM. Now, the USBDM and PEmicro tools works, but Noice12 not. Could you please clarify your MCU device, memory ranges from linker file and used environment?

 

Unfortunately, I don’t have any experience with the Noice12 tool. Please, contact also Noice12 technical support for more details…

Best regards

Radek

134 Views
Contributor II

Yes, i am sure, i test it on XDT512 and XEP100.

Using PROG12Z with pemicro&multilink you have to select one algorithm.

For xdt512 it had two algorithms:

9S12XDT512_1x16x2k_4k_EEPROM_linear_1k_page

9S12XDT512_1x16x256k_512k_Linear_16k_page

in xep100 it have three algorithms:

9S12XEP100_1x16x512k_1024k_Linear_Pflash

9S12XEP100_1x16xmax2k_max4K_EEPROM_linear_1k_page

9S12XEP100_1x16xmax16k_max32k_Linear_User_Dflash

In summary, if you have a .s19 or .elf or .abs file with  linear addresses, you must be select the appropriate algorithm to program the flash.

For example, is you srecord file have data on EEPROM and IFLASH, you must be select first the eeprom algorithm, program the device, and then select the other algorithm and program the flash.

With USBDM you only can program the IFLASH.

With NoICE12 you have the same problem, independently, if you use pemicro multilink or USBDM.

0 Kudos
135 Views
NXP Employee
NXP Employee

Hi Jaw,

It seems, that there may be problem with address format.

I suppose that you try to load code through CodeWarrior IDE and USBDM interface. Correct?

 

The CW accepts only addresses in 64kB memory map (16bit) and banked (logical) format (24bit, PPAGE + address in 0x8000~0xBFFF memory window).

 

The PEmicro tools typically accept only addresses in 64kB memory map (16bit) and linear (global) format (24bit).

 

See attached memory map in Excel file for your reference.

 

The .s19 files may be simply converted.

The NXP offers SRecCvt tool:

https://www.nxp.com/webapp/sps/download/license.jsp?colCode=SRECCVTSW

 

The PEmicro offers Log2Phy tool. However, this tool convert .s19 files only from banked to the linear address format.

https://www.pemicro.com/downloads/download_file.cfm?download_id=15

I hope it helps you.

Best regards

Radek

View solution in original post

0 Kudos
134 Views
Contributor I

Hello.

I think I am having the same trouble. I am working with a 9S12G128 and I get the same error: " program data not within target flash memory".

I can't get a functional link to the SRecCvt tool you mentioned before, do you have any?

Regards.

Pedro.

0 Kudos
134 Views
NXP Employee
NXP Employee

Hi Pedro,

you are right. It seems, that there is some issue on out web pages and SRecCvt tool cannot be downloaded from:
https://www.nxp.com/webapp/sps/download/license.jsp?colCode=SRECCVTSW

I will report this issue.

You may download it from attachment for now.

I hope it helps you.

Radek

134 Views
Contributor I

Hello again, I have checked the tool and I see that 9S12G128 is not available, I see that I can add the device but I am not sure about how to fill the form.

Regards.

Pedro.

0 Kudos
134 Views
NXP Employee
NXP Employee

Hi Pedro,

the S12G240 option may be used instead S12G128 without any issue.

 

regarding S12G128 option)
The DeviceInfo.dat file is a pure text file which may be edited by any text editor e.g. Notepad and S12G128 may be added by inserting the line:

S12G128, 8000, BFFF, 8, 8, 0400, 13FF, FF, 32, s1218

 

BTW: The SRecCvt-GUI.exe file is the just graphical user interface and development of this tool was stopped years ago. therefore some options missing there.

The SRecCvt software core is an SRecCvt.exe file - executable from the command line and allowing wider options than the graphical user interface.

When you will start SRecCvt-GUI.exe with pressed Ctrl button, the debug window will display generated command line for SRecCvt.exe. You may compare it with attached documentation.

 

I hope it helps you.

 

Best regards

Radek

134 Views
Contributor II

If i read the xdt512 with memory dump, and after i try program the same file, i receive the same error.¿?

0 Kudos