Other Parts Discussed in Thread: CC2640, MSP430FR6047
Hi, at this point not so much a question but some remarks:
- It should be nice if the MSP432Pxxx could also be selected!
- We are using the 2 * MSP432P4011, an CC2640(module) and a MSP430FR6047 in our design. Its composed of two pcb's:
pcb 1: CC2640+MSP432P4011 and, pcb 2: MSP432P4011 + MSP430FR6047
Both pcb are connecte through rs485 between both MSP432P4011
We wrote lots of software on all chips and, everything works fine!
Sofar so good.
We started to implementation of OAD four months ago and succeeded to upgrade the CC2640 as well as its companion MSP432P4011(using custom BSL reprogramming the MSP432P4011 like the existing sample of 'oad_firmware_update'. Then we continued to implement the MSP432P4011 as well as the MSP430FR6047 residing on pcb 2. For hardware we selected the advised or mandatory serial ports(UART's). Since the MSP430FR6047 will be updated via the MSP432P4011, the latter one was considered first! Then trouble starts!!
We find what goes wrong just today, after a few weeks! We red 'slau622j'.
From the pcb1's MSP432P4011 we send a commend to go to BSL. The MSP432P4011(pcb2) then executes:
case MSG_RS485_CMD_MC_OAD:
{
Display_print0(displayOut, 0, 0, "MSG_RS485_CMD_MC_OAD received");
MAP_Interrupt_disableMaster();
// Setup interrupt priorities into 0x00 before entering boot loader
int i;
for ( i=0; i < 240; i++) NVIC->IP[i] = 0;
NVIC->ICER[0] = 0xFFFF;
NVIC->ICPR[0] = 0xFFFF;
NVIC->ICER[1] = 0xFFFF;
NVIC->ICPR[1] = 0xFFFF;
// Call the BSL with given BSL parameters
((void (*)())BSL_ENTRY_FUNCTION)((uint32_t)BSL_PARAM);
// At this point the BSL should take control and will this application be void!
// Transmit 0xFF from CC and wait there for 0x00!
}
break;
Then we excute sending 0xff (pcb1) and receive 0x00 ack(pcb2), which is ok!
Then we send password 0xff(256*) and recive '0x3B 0x05' which is not ok while the chip is mass erased!
Because we also use the MSP430FR6047 we also red its papers and found a different approach, sending password TWICE!!
We then discovered that our on board BSL is not version 00430044(as inthe documentation) but 00430045!!
So we tried the method described for the MSP430FR6047 and: IT WORKS!!!!
Question: Is this accidental or are the manuals not updated or something else??
rgds.,
Laurent van Poppelen
2M Engineering
the Netherands