Smart Bluetooth Forum Discussions
We have been running into problems associated with code size and wondered if we could get clarification on the maximum memory available for code and data?
I saw on another forum post it mentioned that the maximum code size is 30K. Does that pertain to the "Total RAM footprint" line in the buld console? If so it's not quite right because we found that our system stopped working completely after our total ram footprint exceeded 27364. This makes me nervous because unless I understand the actual limit I might see less predictable failures!
So my questions are:
(1) What is the maximum code size and how can I tell whether I am reaching it?
(2) What is the maximum stack size?
(3) What is the amount of space available for global and static variables?
Are there any built in functions of the stack that can be turned off to save space, for example if I disable the battery status profile does that cut down on the footprint?
Show LessHi,
1. What is the native support NFC in BCM20737?
2. It seems that we need to add the NFC Reader IC if we want to enable the NFC feature of BCM20737.
Do you have any sample code about NFC
Thanks
ChienYi
Show LessHi,
I'm going to use several GPIO pin as Data Input with interrupt by register handler in following function.
gpio_registerForInterrupt(interrupt_handler_mask, application_gpio_interrupt_handler);
Then, in the application_gpio_interrupt_handler(), as the document example is:
void application_gpio_interrupt_handler(void* parameter)
Question 1:
Can the "parameter" be used to identify the pin which trigger an interrupt? and identify that is triggered at falling edge or rising edge?
Or is there any API to identify it? I found gpio_getPortInterruptStatus but not sure this is.
Question 2:
Do the handler need to clear interrupt by gpio_clearPortInterruptStatus before exit the handler?
Thank you!
Show LessHi,
The BCM20736S should integrate the antenna.
What is the purpose of P33's alternate functions? (External T/R switch control (~tx_pd))
Thanks
ChienYi
Show LessHi,
For BCM20736, what kind of BT certifications are needed if we want to get BT logo ?
If we use BCM20736S, are the certifications the same with BCM20736 ?
Thanks.
Show LessHi,
After checking the block diagram of MMP20732-DS100-R.pdf, BCM has integrated the PA in the chipset.
And using the T/R switch to separate the T/R path.
Could we design a circuit as follows? I think that it must modify the BCM source code to sync the GPIO status with internal T/R switch.
I just want to check if it is possible to increase the TX power in the BCM20736(SOC, not SiP),
Thanks
Show Less
I see with the eval board that I can be "connected" to the iPhone LightBlue app but I never had to do any sort of "pairing" between devices as one would do say with an automobile for instance
What is the difference between being connected versus paired?
Show LessHi, I'm attempting to write a large struct to NVRAM using a BCM20732 SPIL dev board. It seems that the function bleprofile_WriteNVRAM always fails (returns 0) on the second write.
Also, bleprofile_WriteNVRAM returns 0 when I try to write more than 220 bytes. I thought the limit was 255. I'm not sure if these issues are due to using the SPIL board vs the TAG board.
Here's the code to write to NVRam:
uint8 writeNVRam(NVRamType * nvRam){
uint16 totalWritten = 0;
uint8 nvOffset = 0;
ble_traceprintf("Writing size %d\r", sizeof(NVRamType));
while(totalWritten < sizeof(NVRamType)){
bleprofile_DeleteNVRAM(NV_APP_LOCATION - nvOffset);
ble_traceprintf("Writing location %X with %d bytes from %X.\r",
NV_APP_LOCATION - nvOffset,
MIN(sizeof(NVRamType) - totalWritten, NV_LOCATION_SIZE),
&(((uint8*)nvRam)[totalWritten]));
uint8 nWritten = bleprofile_WriteNVRAM(NV_APP_LOCATION - nvOffset,
MIN(sizeof(NVRamType) - totalWritten, NV_LOCATION_SIZE),
&(((uint8*)nvRam)[totalWritten]));
ble_traceprintf("Wrote %d bytes.\r", nWritten);
if(nWritten == 0)
return SE_NV_WRITE_FAILED;
totalWritten += nWritten;
++nvOffset;
}
return SE_OK;
}
This produces the following output to console:
Writing location 6F with 220 bytes from 20A590.
Wrote 220 bytes.
Writing location 6E with 63 bytes from 20A66C.
Wrote 0 bytes.
Thank you for your attention.
Currently WICED-Smart-SDK-2.0.1 provides the following platforms under the WICED-Smart-SDK-2.0.1\WICED-Smart-SDK\Platforms directories: BCM920736TAG_Q32 and BCM920737TAG_Q32.
I am able to compile code for BCM20732 but it fails after building with the following error "Converting CGS to HEX..."
Following the instructions from the forum subject "Programming the 20732S MODULE USING 2073xTAG Board"
I am at the point where I need an equivalent directory for BCM920732TAG_Q32.
Does this already exist? If not, are there any instructions on how to build it?
Thanks,
Mike
Show Less