Rev. 1.10
28
October 23, 2020
Rev. 1.10
29
October 23, 2020
BC66F5652
2.4GHz RF Transceiver A/D Flash MCU
BC66F5652
2.4GHz RF Transceiver A/D Flash MCU
Flash Program Memory
The Program Memory is the location where the user code or program is stored. For this device the
Program Memory is Flash type, which means it can be programmed and re-programmed a large
number of times, allowing the user the convenience of code modification on the same device. By
using the appropriate programming tools, the Flash device offer users the flexibility to conveniently
debug and develop their applications while also offering a means of field programming and updating.
Structure
The Program Memory has a capacity of 8K×16 bits. The Program Memory is addressed by the
Program Counter and also contains data, table information and interrupt entries. Table data, which
can be arranged in any location within the Program Memory, is addressed by a separate table pointer
register.
0000H
Initialisation Vector
0004H
1FFFH
16 bits
Interrupt Vectors
002CH
Look-up Table
n00H
nFFH
Bank 0
Program Memory Structure
Special Vectors
Within the Program Memory, certain locations are reserved for the reset and interrupts. The location
0000H is reserved for use by the device reset for program initialisation. After a device reset is
initiated, the program will jump to this location and begin execution.
Look-up Table
Any location within the Program Memory can be defined as a look-up table where programmers
can store fixed data. To use the look-up table, the table pointer must first be configured by placing
the address of the look up data to be retrieved in the table pointer registers, TBLP and TBHP. These
registers define the total address of the look-up table.
After setting up the table pointer, the table data can be retrieved from the Program Memory using the
“ITABRD [m]”, “ITABRDL [m]”, “TABRD [m]” or “TABRDL [m]” respectively when the memory
[m] is located in Sector 0. If the memory [m] is located in other sectors except sector 0, the data can
be retrieved from the program memory using the corresponding extended table read instruction such
as “LITABRD [m]”, “LITABRDL [m]”, “LTABRD [m]” or “LTABRDL [m]” respectively. When
the instruction is executed, the lower order table byte from the Program Memory will be transferred
to the user defined Data Memory register [m] as specified in the instruction. The higher order table
data byte from the Program Memory will be transferred to the TBLH special register. Any unused
bits in this transferred higher order byte will be read as “0”.
The accompanying diagram illustrates the addressing data flow of the look-up table.