cancel
Showing results for 
Search instead for 
Did you mean: 

Small Code Big Data problem...

digisys99
Associate II
Posted on November 25, 2008 at 09:22

Small Code Big Data problem...

2 REPLIES 2
digisys99
Associate II
Posted on May 17, 2011 at 11:52

I resolved last issue...

Now I'm debugging an eeprom emulation program and it work's well on the basic standard usage of uPSD, i.e. typical memory map where code is in the big eeprom and data is in the second eprom.

But I have huge amount of data and I would like tu use big main eeprom for data and code in the second.

I have modified in pdsoft express under ''define PSD'' pane to specify main PSD flash to data space only and secondary to program space only.

I changed ChipSelectEquations and reflected changes on loading hex file on the CSBOOT section instead of FS and after download I could see code in the RIDE simulator but Ride reset ptr is around 6000h instead of real start routine and when I press ''go'' nothing happens... when I stop I'm in the middle of nowhere...

I'm able to execute few first instructions where I read VM register to verify code/data and they are correct.

I kept addresses CSIOP, RS identical to avoid to change them in all tools.

Also, code start at 0000 in both cases, to avoid another possible issue there.

Here is the one who work's:

Label Page Bit start end Mem comments

y=page(don't care)

fs0 0byyyyyyyy 0x0000 0x7FFF F // & !pdn

fs1 0byyyyy000 0x8000 0xFFFF F // & !pdn

fs2 0byyyyy001 0x8000 0xFFFF F // & !pdn

fs3 0byyyyy010 0x8000 0xFFFF F // & !pdn

fs4 0byyyyy011 0x8000 0xFFFF F // & !pdn

fs5 0byyyyy100 0x8000 0xFFFF F // & !pdn

fs6 0byyyyy101 0x8000 0xFFFF F // & !pdn

fs7 0byyyyy110 0x8000 0xFFFF F // & !pdn

csboot0 0byyyyyyyy 0x8000 0x9FFF F // & !pdn

csboot1 0byyyyyyyy 0xA000 0xBFFF F // & !pdn

csboot2 0byyyyyyyy 0xC000 0xDFFF F // & !pdn

csboot3 0byyyyyyyy 0xE000 0xFFFF F // & !pdn

rs0 0byyyyyyyy 0x0000 0x1FFF V // & !pdn

csiop 0byyyyyyyy 0x7F00 0x7FFF V // & !pdn

psel0 0byyyyyyyy 0x7E00 0x7EFF Peripheral // & !pdn & _psen

And this one which refuse to operate:

Label Page Bit start end Mem comments

y=page(don't care)

fs0 0byyyyyy00 0x8000 0xBFFF F // & !pdn

fs1 0byyyyyy00 0xC000 0xFFFF F // & !pdn

fs2 0byyyyyy01 0x8000 0xBFFF F // & !pdn

fs3 0byyyyyy01 0xC000 0xFFFF F // & !pdn

fs4 0byyyyyy10 0x8000 0xBFFF F // & !pdn

fs5 0byyyyyy10 0xC000 0xFFFF F // & !pdn

fs6 0byyyyyy11 0x8000 0xBFFF F // & !pdn

fs7 0byyyyyy11 0xC000 0xFFFF F // & !pdn

csboot0 0byyyyyyyy 0x0000 0x1FFF F // & !pdn

csboot1 0byyyyyyyy 0x2000 0x3FFF F // & !pdn

csboot2 0byyyyyyyy 0x4000 0x5FFF F // & !pdn

csboot3 0byyyyyyyy 0x6000 0x7FFF F // & !pdn

rs0 0byyyyyyyy 0x0000 0x1FFF V // & !pdn

csiop 0byyyyyyyy 0x7F00 0x7FFF V // & !pdn

psel0 0byyyyyyyy 0x7E00 0x7EFF Peripheral // & !pdn & _psen

Any ideas???

tim5
Associate II
Posted on May 17, 2011 at 11:52

Your map looks OK, and there should be no problem running code there. I've got a 3400 happily running with:

- Boot code in CS

- Service code in an FS sector for interrupts etc

- Flash disk emulation in the rest of the FS

- EEPROM emulation running in gaps in the disk structure

using the 32k limited RIDE and homebrew banking code.

Beware that what RIDE debugger tells you it can see in code space isn't necessarily there - it displays what *should* be there not what *is*. When I get problems like this (executing into space) it usually means I've messed something up in the project definition in PSDSoft and and not looking at the same files in RIDE as in the chip. It can be hard to tell. Usually you eventually get ''error in exploring'', if you keep stepping long enough. If you are absolutely stuck, try uploading from the chip in PSDSoft and checking the hex is actually what you are looking at.