Dear all,
I am working with MSP5438A experimenter boards, each mounted with CC2520 RF transceivers. I wanted to execute a simpliciti sample program. However I have created the project from scrap, I have added the necessary files into the project. When I build the project, I get the following errrors:
identifier "MAX_HOPS" is undefined wings mrfi_radio.c line 403 1340290751156 2429identifier "mrfiSpiIState_t" is undefined wings mrfi_spi.c line 180 1340290751156 2456identifier "mrfiSpiIState_t" is undefined wings mrfi_spi.c line 301 1340290751171 2465identifier "mrfiSpiIState_t" is undefined wings mrfi_spi.c line 391 1340290751171 2474
I know that these errors come from two important files smpl_config.dat and smpl_nwk_config.at, I have added them into the project, but I am not quite sure if I have to follow a different way of adding dat files into the project. I have adding a figure regarding the following.
Any help or advice regarding the same is appreciated.
Thank you.
Best regards,
Vidya.
Vidya,
Vidya Sagar Kantamneni I know that these errors come from two important files smpl_config.dat and smpl_nwk_config.at, I have added them into the project, but I am not quite sure if I have to follow a different way of adding dat files into the project. I have adding a figure regarding the following.
Please refer to the following wiki page to create SimpliciTI project in CCS:
http://processors.wiki.ti.com/index.php/Creating_CCS_Project_using_SimpliciTI
Basically besides adding/inserting the .dat files into the project, you need also to add the path of the files inside the project configuration setting.
Regards,
Leo Hendrawan
Dear Ihend,
I appreciate your support. I have found out this link earlier, but I was quite confused as I was working with recent version of Simpliciti SimpliciTI_RF_Stack 1_x_x_5. Here support for MSP430EXP5438A is included.
In the link you have provided, there are no files related to any board are included in the project. Can this be the problem? I have created a very fresh project with all the instructions in the link, and I get the following errors:
unresolved symbol MRFI_BOARD_CONFIG_RADIO_GPIO, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121968 2878unresolved symbol MRFI_CLEAR_RX_INTERRUPT_FLAG, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121968 2879unresolved symbol MRFI_CONFIG_FIFO_AS_INPUT, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2881unresolved symbol MRFI_CONFIG_FIFOP_AS_INPUT, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2880unresolved symbol MRFI_CONFIG_RESETN_PIN_AS_OUTPUT, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2882unresolved symbol MRFI_CONFIG_TX_FRAME_DONE_AS_INPUT, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2883unresolved symbol MRFI_CONFIG_VREG_EN_PIN_AS_OUTPUT, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2884unresolved symbol MRFI_DISABLE_RX_INTERRUPT, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2885unresolved symbol MRFI_DRIVE_RESETN_PIN_HIGH, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2886unresolved symbol MRFI_DRIVE_RESETN_PIN_LOW, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2887unresolved symbol MRFI_DRIVE_VREG_EN_PIN_HIGH, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2888unresolved symbol MRFI_DRIVE_VREG_EN_PIN_LOW, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2889unresolved symbol MRFI_ENABLE_RX_INTERRUPT, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2890unresolved symbol MRFI_GpioIsr, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2891unresolved symbol MRFI_SPI_CHIP_SELECT_IS_OFF, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2892unresolved symbol MRFI_SPI_SET_CHIP_SELECT_OFF, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2893unresolved symbol MRFI_SPI_SET_CHIP_SELECT_ON, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2894unresolved symbol MRFI_TX_DONE_STATUS, first referenced in ./SMPL/mrfi/mrfi.obj work line 0 1340365121984 2895
Thanks again. Best regards,
Vidya Sagar KantamneniIn the link you have provided, there are no files related to any board are included in the project. Can this be the problem?
i have recently found in other thread (http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/t/19233.aspx) that there are some missing defintions for the CC2520 family. Can you please suggest where/how I can add these defintions? Can you please also suggest how I can acquaint myself working with RF and MSP430.
Appreciate any help in advance. Thank you.
Hi.
there is some improvement in my case. I have resolved some symbols, by copying necessary symbols from the following link: http://yawing.googlecode.com/svn/trunk/yawing/Components/bsp/boards/SRF05EB/bsp_external/mrfi_board_defs.h
However I couldnt resolve one symbol called MRFI_Gpioisr. However i have seen that this is part of interrupt service between MSP430 and CC2500. Is it also available in CC2520? Can you please also suggest me how I can resolve this symbol?
Hi,
Sorry for the late response.
MRFI_GpioIsr is per default defined in mrfi_radio.c. However mrfi_radio.c shall not be included directly to the project, since it is mrfi.c 's job to do that (see implementation of mrfi.c which includes the mrfi_radio.c depending on the radio configuration). This is also the same for mrfi_f1f2.c. What you shall do is only to include mrfi.c in your CCS project and define MRFI_RADIO_FAMILY3 in your CCS project.
Please look at this thread where i made an example how to create CCS project with the source linked statically:
http://e2e.ti.com/support/low_power_rf/f/156/p/190673/683384.aspx#683384
Anyway, i am wondering why you are using SimpliciTI on MSP430+CC2520. Even tough the solution is available, i think it makes more sense to run Zigbee on this platform since CC2520 is a zigbee radio. If you want to work on propietary 2.4 GHz radio, i would suggest to use CC2500 instead.
many thanks for taking time and support.
lhendMRFI_GpioIsr is per default defined in mrfi_radio.c.
Unfortunately I dont find mrfi_gpioisr defined in mrfi_radio.c. here I am providing the link of very similar file i have in my project: http://wsn.eecs.berkeley.edu/svn/ezwsn/source_code/drivers/mrfi/radios/family3/mrfi_radio.c
I am not quite sure if it is proper to add these definitions from cc2500 radio. I have just copied the stuff related to gpioisr into the cc2520 radio (as I know there is no harm in defining them unless otherwise called or?). But this does not solve the error. I still have to face unresolved symbol.
lhendWhat you shall do is only to include mrfi.c in your CCS project and define MRFI_RADIO_FAMILY3 in your CCS project.
I feel it sorry to ask one basic thing: what do you mean by include? You mean to add the file to the CCS project by using add files option. I have already linked the file like as it is mentioned in the TI wiki link. Should I delete the linked file and manually add it?
lhendAnyway, i am wondering why you are using SimpliciTI on MSP430+CC2520
As part of my thesis, I should create a smart meter network where two or quite a few number of devices that share information. I thought I could do it easier with simpliciti (compacter compared to zigbee). With CC2530(the intial decision) I had to face quite a huge number of troubles, and with your advice to take up cc2500, I turned to CC2520. The idea was only that I dont need any new hardware to implement Zigbee as an alternative (which would not be the case if I chose CC2500 that doesnt support zstack). Also some bias from the following link: http://e2e.ti.com/support/low_power_rf/f/155/t/60810.aspx
Please correct me if I am wrong. I will be glad to hear from you.
Hi Vidya,
so here's the thing: i am the one who wrote the porting guideline in the TI processors wiki site, and actually i only tested it using the family1 radios (CC2500 and CC1101), and i have modified the wiki page to explain this. However after looking into the code of family3 (CC2520), i do see some slight different (i haven't gone through all the codes, but basically the codes are different).
Therefore i think the guideline can't be applied as it is for porting the CC2520 code. What i would suggest you to do is to apply the guideline in general (in terms of which code shall be modified), but use the code under:
SimpliciTI-IAR-1.1.1\Components\bsp\boards\SRF05EB
instead of :
SimpliciTI-IAR-1.1.1\Components\bsp\boards\EXP461x
which i took for the guideline. Sorry for the confusion again here, but i believe the SimpliciTI code is well written so the portation shouldn't be that difficult to do the portation for the family3 radio (i actually did the portation for the family1 radio without knowing anything about SimpliciTI - just by seeing the file structure and guessing which files are hardware dependent and need to be ported).
If you decide to do the portation, it would be nice maybe if you can also contribute by writing the experience in the processor wiki. I could basically do it (would take me a 2-3 days maybe), but at the moment i don't have the time to do it.
Regarding your argument about using the CC2520 for the ease of changing the protocol stack later on, i think i can understand it quite well.
thanks for writing. I was out of station and had no possibility to write you. I will be working intensively again on this issue. I will create a page as you have suggested.
best regards,
lhend apply the guideline in general (in terms of which code shall be modified), but use the code under: SimpliciTI-IAR-1.1.1\Components\bsp\boards\SRF05EB instead of : SimpliciTI-IAR-1.1.1\Components\bsp\boards\EXP461x
apply the guideline in general (in terms of which code shall be modified), but use the code under: SimpliciTI-IAR-1.1.1\Components\bsp\boards\SRF05EB
instead of : SimpliciTI-IAR-1.1.1\Components\bsp\boards\EXP461x
I have followed your suggestion to use the code from SRF05EB. I am stuck with two new errors. I tried to resolve the undefined symbols but there is quite litle information regarding the same.
Errors:
identifier "UCB1RXIFG" is undefined
identifier "UC1IFG" is undefined
My guess regarding the errors is that as I have used some code from SRF05EB (which might be equipped with MSP430x26xx processor as these pins belong to these processor or?). Your suggestions would be helpful in this regard.
Kind regards,