
Series 30i/ 31i/ 32i-A
C executor library for conversion
Programming manual
01 04.05.06
S. Hasegawa
New registration
B-64183EN/01
EDIT
DATE
DESIG.
DESCRIPTION
63/226
DRAW.NO.
3.5
ACCESS TO THE PMC ADDRESS
The byte order is different between "C executor" and "C language board"
because they have different type of CPU. This means that the direct
accessing using a pointer is not compatible between them. Therefore
following functions in "C library for conversion" is unavailable.
・ pl_memc(), pl_memuc(), pl_mems(), pl_memus(), pl_meml(),
pl_memul()
・
pl_memc2(), pl_memuc2(), pl_mems2(), pl_memus2(), pl_meml2(),
pl_memul2()
You should use functions "pmc_rdpmcrng()" and "pmc_wrpmcrng()" in
"C library for C executor" or following new functions in "C library for
conversion"
・ pl_memcrd2(), pl_memucrd2(), pl_memsrd2(), pl_memusrd2(),
pl_memlrd2(), pl_memulrd2()
・ pl_memcwrt2(), pl_memucwrt2(), pl_memswrt2(), pl_memuswrt2(),
pl_memlwrt2(), pl_mwmulwrt2()
The example using "C library for conversion" is shown below.
Before)
num = *pl_mems2(id, offset);
num |= 0x8000;
*pl_mems2(id, offset) = num;
After)
num =
pl_memsrd2
(id, offset, NULL);
num |= 0x8000;
pl_memswrt2
(id, offset, num);
Note
All functions in this section can access a PMC
address on 1st PMC, cannot access it on 2nd or 3rd
PMC.