cancel
Showing results for 
Search instead for 
Did you mean: 

Basculement mémoire bizarre

hpipon9
Associate
Posted on September 24, 2007 at 07:57

Basculement mémoire bizarre

1 REPLY 1
hpipon9
Associate
Posted on May 17, 2011 at 11:51

Ma mémoire flash principale est découpée comme suit :

<> la page fs0 en adresses :

XDATA[8000-FFFF] si pgr7 = 0

CODE[0000-7FFF] si pgr7 = 1

<> les pages fs1 à fs7 en adresses :

XDATA[8000-FFFF] si pgr7 = 0

CODE[8000-FFFF] si pgr7 = 1

Ma mémoire flash secondaire est découpée comme suit :

<> csboot1 CODE[0000-1FFF] si pgr6 = 0

<> csboot2 CODE[2000-3FFF] si pgr7 = 0

<> csboot3 CODE[6000-7FFF] si pgr7 = 0

----------

Démarrant en csboot1 je bascule alors pgr7 ce qui change ma pagination mémoire.

J'appelle un sous programme en 2000 je tombe sur csboot2 alors que je devrais etre sur fs0

J'appelle un sous programme en 7000 je tombe bien sur fs0 et csboot3 n'est pas actif.

Pourquoi les deux zones mémoires ne se comportent pas pareil alors qu'elles ont les mêmes équations.....

Si quelqu'un à une idée....

----------

fs0=((page==0)&(address>=^h8000)&(address<=^hFFFF)&(_psen&!_rd&!pgr7)

#(address>= ^h0000)&(address<=^h7FFF)&(!_psen&_rd & pgr7));

csboot0=((address>=^h0)&(address<=^h1FFF)&(!_psen&_rd&!pgr6)

#(address>=^h8000)&(address<=^h9FFF)&(_psen & !_rd & pgr6));

csboot1=((address>=^h2000)&(address<=^h3FFF)&(!_psen&_rd&!pgr7)

#(address>=^hA000)&(address<=^hBFFF)&(_psen&!_rd & pgr7));

csboot2=((address>=^h6000)&(address<=^h7FFF)&(!_psen&_rd&!pgr7)

#(address>=^hE000)&(address<=^hFFFF)&(_psen&!_rd & pgr7));

[ This message was edited by: hrvppn on 24-09-2007 17:15 ]