Hi everyone,
I'm using CCSv6 and trying to access registers on the MSP430FR5969 that range from 0xFFFFF-0x10000 to extend the available memory from 64kB to 1MB.
I currently have read access to the entire address range 0xFFFFF-0x00, using the command:
asm(" mova &0F0000h,R7"); //retrieve the value from upper 1MB range, 0xF0000
but I cannot write to this address, using:
asm(" mova #0, &0F0000h"); //write zero to the address 0xF0000.
but writing to the lower 64kB range works:
asm(" mova #0, &0E000h"); //works in lower 64k, write value 0 into address 0x0E000
There seems to be no difference between using the mova and movx (.b/.w) commands and it seems like there must be a configuration setting that is granting me read only access.
How can I write to the address space above 0x10000?
Here are my flag settings:
-vmspx --abi=eabi --data_model=large --near_data=none --use_hw_mpy=F5 --include_path="/home/gunnar/ti/ccsv6/ccs_base/msp430/include" --include_path="/home/gunnar/ti/ccsv6/tools/compiler/ti-cgt-msp430_4.4.5/include" --advice:power="all" --advice:hw_config="1" -g --define=__MSP430FR5969__ --define=__MSP430X__ --diag_warning=225 --display_error_number --diag_wrap=off --silicon_errata=CPU21 --silicon_errata=CPU22 --silicon_errata=CPU40 --large_memory_model --printf_support=minimal