This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RF430FRL152H: RF Programming Error by GUI using TRF7970EVM to interface to RF430FRL15xH

Part Number: RF430FRL152H
Other Parts Discussed in Thread: MSP430G2553, , MSP-FET

Hello.

I am designing custom RF430FRL152H board for measuring capacitance via AD7747(Capacitance to Digital Converter IC)

for making custom board, I write a source code by using RF430FRL152H_SensorhUB_Project(TI Supplied)

after debugging, I try to upload my code to custom board via GUI using TRF7970EVM to interface to RF430FRL15xH

before trying to uploading, I checked my TRFP7970ABP + MSP430G2553 board is connected to PC sucessfully.

and I try to upload my code via RF programming Tab in GUI, I can see there is an error

in this situation, What should I do?

To solve this problem, I attached my source code also.

* I want to read data from other IC via I2C and store data to block 9 of rf430frl152h

 

I need help. 

I will appreciate for your help.

  • if someone know anything about this issue, please let me know. I really need your help..

  • Hi,

    sorry for the delayed response. I was out of office.
    I have to catch up on many threads, so please be patient until I can work on your request.

    Best  Regards,
    Andreas.

  • thank you Andreas.

    I will wait your reply!

    thank you for your work.

    Best Regards,

    Seunghun.

  • Hello Seunghun,

    I'm glad to see your interest in developing with our devices.

    It seems that your code image is covering unsupported memory areas.

    The over the air download (OAD) is relying on ISO block mapping of the ROM firmware, which can be found in chapter 4.5 of the RF430FRL15xH Firmware User's Guide. You only can write to valid ISO blocks.

    Please also be aware that the ROM firmware is using interrupt vectors and other control variables in FRAM. If your code image is overwriting these values with different content, then OAD might not be possible anymore. Even ISO15693 access at all can break this way. Then the only alternative would be to access via JTAG. JTAG access is anyway the most flexible and convenient way of code debugging.

    Best regards,

    Andreas.

  • Hello Andreas,

    I finished code debugging with MSP-FET, and I can check my code work well in RF430FRL152HEVM

    but, I can't still use over the air download(OAD), same error is occured.

    I would like to provide more detailed information to get your advice.

    1. Firmware System Control Byte(address=0xF867)

    I choose four byte block mode and first ISO page mode. 

    2. FRAM address

    I use FRAM for data storage(F868~FBCF) and FRAM_CODE for code section(FBD0~FFCF)

    and there is space for others(FFD0~FFFF)

    but in RF430FRL15xH's Firmware User Guide document, I find informations that you says.

    in this case, Should I use only a restricted space(F868~FC33)?

    If it is, Should I modify my lnk_rf430frl152h.cmd file for that space?

    3. about OAD

    for using OAD, I need to convert .out file to .txt file

    for making  .txt file,  I edit my project's properties as follows

    Is it right format for OAD?

    4. about address where error is occured in OAD

    error is occured when F880(Block 3) is written.

    Which part of code should I check?, 

    Is there any special meaning for an error to occur while writing Block 3?

    Thank you very much for your answer.

    Best Regards,

    Seunghun.

  • Hello Seunghun,

    as far as I know your used memory region should be OK for OAD.

    But the memory image of the code in your previous post had some pieces starting at address 0x0000 and some pieces also in RAM.

    Maye it is a good idea for you to translate to a TXT, in order to see the full image. It is anyway required for OAD.

    TXT output can be enabled as follows:

    You can also try to download the pre-compiled RF430FRL152H_SensorHub_Project.txt example code, which is included in the RF430FRL152H Firmware package. Maybe try to load it to the RF430FRL152HEVM first and with the default settings in the RF430FRL152HEVM GUI Interface. I think by default it is using 8 Byte block size. If this can work, then you can move step by step to your new setup / settings / code-image.

    At the moment I don't know, why the error occurs for block 3. Maybe it is locked. You could try to erase (write 0xFFFF) to the entire FRAM (0xF840 to 0xFFFF) via JTAG, followed by a power cycle. This way the device would automatically do a fresh initialization of the ROM firmware variables in FRAM.

    Let me know if you can make any progress or if you need further assistance.

    Best regards,

    Andreas.

  • Hello Andreas,

    I change my code. and here is .txt file from my code

    I read your advice, but I don't know what should I do for finding what makes errors.

    if you need, I can give you my new code. Let me know how I can give you my code via email or etc... (I can't upload it here)

    in your comment, you said,

    "But the memory image of the code in your previous post had some pieces starting at address 0x0000 and some pieces also in RAM."

    how can I check this? 

    and There is some code in my work about locking memories

    Is it related with OAD errors? 

    thanks for your kindness

    Best regards,

    Seunghun.

  • I try to upload my code to my custom board with OAD

    it works, as follows

    but after removing from field, when I try to read data from custom board, it doesn't reply anymore

    I could read my data from fr430frl152hevm with MSP-FET (uploaded my custom code)

    so I know my code works well..

    I tried once upload my code to rf430frl152hevm with CCS (load program), and my rf430frl152hevm doesn't reply anymore for iso15693 reader.

    Maybe there is some issues in RF function becuase of my code.

    I appreicate any advice.

    best regards.

    seunghun.

  • Hello Seunghun,

    I confirmed your observation with my RF430FRL152HEVM. I can download your code even several times, as long as I don't do a power-cycle. This is most likely due to that the RF13M interrupt vector is still pointing to ROM. But as soon as a power-cycle is done, the device becomes inaccessible via RF.

    Something must be wrong with your code. Unfortunately I don't have the bandwidth to debug your code. Maybe it can help you to compare against the firmware examples in the RF430FRL152H Firmware package.

    Maybe you can even reuse more of the existing ROM firmware. Actually it supports almost all possible sensor readings of the device. Have you had a look to the RF430FRL15xH Firmware User's Guide?

    If you are planning to implement some minor difference compared to the example firmware, then it might be sufficient to replace just one ISR or so. Or if you want to add ISO/IEC 15693 custom commands then you could do that with the patching table (see chapter 9 in the RF430FRL15xH Firmware User's Guide).

    Let me know if this can help you out or not.

    PS: The memory location can be seen in the TXT file after the @ symbol. For example @fbd0 means, that this code starts at address 0xFBD0. When I compiled your first code (zip file) then I got something @0000 and also somewhere in RAM.

    Best regards,

    Andreas.

  • Hi Andreas,

    Is there any advice you can give me?

    I'm waiting for your reply.

    best regards,

    seunghun.

  • Hello Seunghun,

    again, I don't have the bandwidth to debug your code.

    But here are some ideas for checking next:

    Have you confirmed that sensor data is being captured and stored? (Verify via JTAG and see if it's there.)

    Can you read other memory locations via RF correctly?

    What is the extra purpose of your code? I mean, it seems to me that you try the same as the existing firmware. So why do you need a different code? Could you just use the existing firmware?

    Best regards,

    Andreas.

  • Hello Andreas,

    Q. Have you confirmed that sensor data is being captured and stored? (Verify via JTAG and see if it's there.)

    1. yes I have checked it. I can see FRAM Data via JTAG 

    Q.Can you read other memory locations via RF correctly?

    2. Yes. for example, I  read @F867via RF and there is no problem

    What is the extra purpose of your code?

    3. reading Digital Sensor(via I2C) and Analog Sensor(ADC)

    I use Firmware example (SensorHub Project) just edit it little for proper operation.

    So I already use existing firmware and edit little.

    but there is problem as I say.

    So I can't use exisiting firmware (already using)

    that's why I ask you. 

    Of course, I tried many debug attempts waiting for your reply, but all failed.

    I really do need help.

    Can you connect me with someone who can give me some advice?

  • Hello Seunghun,

    unfortunately there is nobody else than me, supporting that device.

    Based on your latest comments I would like to ask where in memory your sensor data is stored? As mentioned earlier, you can only read valid ISO15693 blocks.

    I also noticed that most of your interrupt vectors seems to point to some default location (0xFF78).

    Maybe you simplified too much? Maybe you should compare your software against the Sensor Hub Project again. (Btw: the Sensor Hub Project  can also read from I2C sensors and from the ADC. Maybe it is already sufficient for your needs.)

    Best regards,

    Andreas.

  • Andreas,

    I resolve this issue.

    Thank you for your support!

    Best regards,

    seunghun.