Smart Bluetooth Forum Discussions
Hi,
I'm trying to bring up a new board with a BCM20736 and an empty EEPROM. I've successfully programmed a commercial dev board directly using ChipLoad and indirectly using "make" on Linux, but no success with our board.
I monitored the UART on the 3rd party dev board and I see data being transmitted and received. With our board, I see a few bytes being sent to the BCM20736, but nothing coming back. We've checked power supplies, clocks, and it seems that the I2C bus to the EEPROM is active after reset, so the 20736 seems alive. My assumption is that the 20736 would fail to run code from the EEPROM and fall back to the code in internal ROM, code that I hope will talk over the UART to ChipLoad.
I have read this post:
Programming the TAG2/TAG3 Board using command line tools
, but it's not clear that ChipLoad will be able to get past an unresponsive UART, unless I'm missing something about how the UART must be connected or the default state of the 20736 with no code in EEPROM.
Any suggestions or additional resources that might shine a light on general board bring up process?
Thanks!,
John
Show LessI am running WICED 2.2.2 on OSX 10.11.3
After installing, and running the target for hello client - I see the following in the Console output
**** Build of configuration Release for project WICED-Smart-SDK ****
"/Users/user1/Documents/Wiced Testing/2.2.2/WICED-Smart-SDK/make" hello_sensor-BCM920736TAG_Q32 download
Unknown host
Linux32 uname: ""
Linux64 uname: ""
OSX uname: ""
Win32 uname: ""
Build Finished (took 85ms)
Show LessHi All,
I am running some signal processing algorithms in the fine timeout callback function, the total number of ARM CPU clock cycles for the calculations is about 1300, which corresponds to 55us.
The code seems to be working fine when the period of the fine timeout is 1s, but I see that the module resets when the timeout is reduced to 100ms.
Is there any guideline on what would be the maximum allowable amount of time to spend on timeout callbacks ? Also, where should I put the math-intensive codes if I need them to run every 10ms ? Is the callback function a good place, if yes which one and if not are there any main loops that I can use (which can be interrupted by higher priority tasks).
Thanks a lot in advance
Show LessHi,
I want to do OTA firmware upgrade for BCM920737TAG and our own board.
Is there any Android apps I can use?
If I want to use Windows client WsOtaUpgrade.exe, do I need a USB dongle?If yes, where can I get this USB dongle?
Thank you.
Show LessHi,
I am using a FTDI based virtual UART to program the BCM20736S on my own develop PCB. I am pressing the reset button but the WICED Smart SDK is not detecting my device on this virual Comm port.
Seek your kind guidance for programming the firmware in custom design.
Waiting for your kind reply.
Thanks in advance...
Best Regads,
Ghalib
Show LessCurrently I am using a wiced sense tag, but I am not able to develop anything on it and not able to debug it as well. Can you suggest me any other development kit for wiced BLE ?
Show LessIt is my understanding the SIP modules come from Broadcom with a test program pre-programmed into them. If an end-customer program is subsequently programmed into these parts using chipload.exe *without* specifying the "ERASE" option, the parts exhibit unwanted behavior, specifically the GPIO P1/Write Protect pin tied to the internal EEPROM appears to be left floating. As Broadcom generally recommends putting a pull-up resistor on this pin it effectively write protects the NVRAM, preventing any data from being written.
If "ERASE" is specified during programming, P1/Write Protect behaves normally.
In either case, the "VERIFY" option runs successfully after programming.
Question: Why does P1/Write Protect misbehave when "ERASE" isn't specified, despite the readback/VERIFY returning successfully? Is it necessary to ERASE the parts during the programming process?
Show LessHello, i'm trying to use HID off (deep sleep) mode on 20737 as neverending sleep, awaking from IO (p3) but the behaviour is not as expected. 1) If I build using the line that configure the pin as pulldown without interrupt, the HID OFF is entered and stays and neverending. On the oscilloscope I see the pin pulled down to 0 for some microsecond, then it rises slowly up to 0.5 / 0.6V. the consumed current is 2-3 uA, accordingly HID off 2) If I build using the line that configure the pin as pulldown WITH interrupt (on rising edge), the HID OFF is not entered ( the current counsumption stays at 6 mA), the pin remains pulled down to 0 for approximately 5 secs, then it rises up to a step under 1V (like at pw on) then the application restart (after like a sort of reset) at pw on the pin p3 is configured as pull up. I have copied the lines here below. The lines related to p3 are as per the case 1. Many thanks for Your help and suggestions // Configure the low power manager to enter deep sleep. | |
devLpmConfig.disconnectedLowPowerMode = DEV_LPM_DISC_LOW_POWER_MODES_HID_OFF; | |
// Configure the wake time in mS. | |
//! \todo [GPez] devLpmConfig.wakeFromHidoffInMs = 13000; | |
devLpmConfig.wakeFromHidoffInMs = 0; | |
// Configure the reference clock to use. | |
// Use the internal source 128k. | |
devLpmConfig.wakeFromHidoffRefClk = HID_OFF_TIMED_WAKE_CLK_SRC_128KHZ; |
gpio_clearPinInterruptStatus(0, 3); | |
// | gpio_configurePin(0, 3, GPIO_EN_INT_RISING_EDGE | GPIO_PULL_DOWN, GPIO_PIN_OUTPUT_LOW); |
gpio_configurePin(0, 3, GPIO_PULL_DOWN, GPIO_PIN_OUTPUT_LOW); |
// Enter deep-sleep now. Will not return. | |
devlpm_enterLowPowerMode(); |