- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm trying to get a sample app running on my new CYBLE-212019 evaluation board using Creator v3.2 and Programmer v3.25.0.
I selected a sample project for PRoC BLE device family (device information) and it builds just fine, apparently for CYBL10563-56LQXI.
The programmer, PSoC MiniProg3, correctly identifies my device as 212019, but it complains that "The hex file does not match with the acquired device, please check the device".
Creator/Project/Device Selector offers me a bunch of parts, but none of them are 212019
How do I map the Creator device selection to my 212019? Or is the problem elsewhere?
TIA, Richard
- Labels:
-
BLE
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Welcome in the forum, Richard.
I would suggest you to update Creator to latest version (4.0). This will enable the newer devices.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Bob. I'm now able to program and run the sample apps (rookie mistake)
Unfortunately, the apps all hang up in the infinite loop in IntDefaultHandler after trying to start BLE. I'm guessing it's a configuration issue, but darned if I can find where. I haven't changed any of the code and the fault seems to be inside the stack for which there is no source.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Increase your Heap size to 0x200 that may help.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Post you code so we can check it.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks for the suggestion but no go.
I increased the heap size to 0x800; results are the same - infinite loop in the IntDefaultHandler. Note that the while(1) is not the trap for ENOMEM error, but the else case. I added code to save the error number and in both the Device Information and FindMe examples, errno is 0. Curiously, running the temperature measurement example app, the error number is 0x58. But they all hang up in the same place.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Take the error message seriously: Something definitively has gone wrong. When this happened before main() is called something with the oscillators went amiss. When past initialization you probably clobbered the stack.
Post your actual code, everything else is guessing.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
@bobgoar
Increasing the heap size to 0x0200 is not a cure for errors other than printing floats. It has to do with the float formatting of newlib nano which seemingly clobbers the heap. I found out when I tried to print floats under my "ARTS" rtos.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Below is the code that fails. I did not write this code, I'm just trying to run the example application (BLE_Device_Information_Service) that comes with PSoC Creator 4.0. The call to CyBle_Start() never returns because the code ends up in an infinite loop in the IntDefaultHandler(). Errno is NOT "ENOMEM".
Is it perhaps that I'm using the MiniPOrg3 debugger rather than the Pioneer dev kit?
Thanks,
Richard
int main()
{
const char8 serialNumber[] = "123456";
CyGlobalIntEnable;
Disconnect_LED_Write(LED_OFF);
Advertising_LED_Write(LED_OFF);
CyBle_Start(AppCallBack);
^^^^^^^^
NEVER RETURNS FROM THIS FUNCTION
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Not enough memory error? check your stack settings.
Bob
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
1. Errno is NOT ENOMEM
2. I've increased the stack and heap to 4kb each, it still hangs up.
Is there anyone from Cypress on this forum? I really expected development kit samples to work out of the box; am willing to troubleshoot the problem, but there's no source for the code which is failing.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Richard,
Can you archive your workspace with the Project -> Archive Workspace/Project menu entry and attach it here? If it is a problem with the source somewhere, it will be reproducible on another device (e.g. my BLE Pioneer kit with CYBLE-212019-EVAL module). If it is a problem with your hardware, then your unmodified source should compile and run correctly elsewhere.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi jrow,
Thanks for helping. I've attached the 'complete' archive ('bundle' archive was too large to upload). I've also attached the output from the build process.
The only change I made to the example app is to increase stack and heap to 0x1000 each.
One possibly 'non-standard' wrinkle is that my project is not located in the default location suggested by the Creator. The Creator wants to put the project on one of our servers, but it fails to build there so I am have pointed the Creator to create the project on a directory on my local C: drive.
Richard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello Richard,
I compiled and flashed the project that you sent onto my CYBLE-212019-EVAL module (plugged into an original CY8CKIT-042-BLE kit), and it appears to boot and run correctly. The green LED blinks for a while, then eventually switches to solid red. While the LED is blinking, I am able to discover the device in a scan from CySmart and connect to it, and discover all attributes.
I confirmed with WinMerge that my compiled output is 100% identical to your compiled output, so it isn't anything unique on my machine. If you flash the same output .hex file onto your own module with either Creator or PSoC Programmer, and it does not run correctly, then I suspect a hardware issue with your kit or module.
Can you confirm:
- J16 on the Pioneer kit has a jumper selecting either 5V or 3.3V
- J15 on the Pioneer kit has a jumper connecting VDD to BLE_VDD
- J3 on the CYBLE-212019-EVAL module has a jumper connecting VDD to VDDR
These (or electrical equivalents) are all necessary for correct operation. Especially J3 could cause a problem for you; VDDD is required for programming, but VDDR is required for radio operation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't have a Pioneer kit. Rather I am using the CY8CKIT-002 Miniprog3 Evaluation kit. The documentation and sales literature says that the EZ-BLE Evaluation board can be used with either the Pioneer or MiniProg3 evaluation kits.
http://www.cypress.com/products/ez-ble-proc-module-bluetooth-smart
Is that not true? Is the Pioneer kit required?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I got a Pioneer board from a colleague and the example apps are now working as expected. Not sure what the issue was with MiniProg3, but I'm up and running now. Thanks to all for your help.
Richard
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Glad to hear that it's working for you. The MiniProg3 works fine for programming, and the KitProg main board is not strictly necessary for most of the demos (including this one), although it is really convenient.
Do you have target power enabled at 3.3v or 5v in the Port Setting dialog for the MiniProg3? And, is the VDD-VDDR jumper in place to ensure the radio is powered along with the digital logic supply?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried the MiniProg3 again and found that the J3 on the 212019 module was not installed correctly. Its embarassing because I checked jumpers several times and somehow missed that 😞
Thanks for your patience