PSoC™ 4 Forum Discussions
Hello everyone,
I am using cypress chip CYBL10162-56LQXI with another processor. Whenever I want to update my application (bootloadable), I get the image from the other processor and I am writing those bytes from the bootloader at address 0x7000 to 0x1FFF0 in the flash memory, using uint32 CySysFlashWriteRow(uint32 rowNum, const uint8 rowData[]). But this takes more than 2 minutes. Is there anyway we can make this thing work faster?
Thank you.
Show LessI seem to be getting some incorrect data back from the PSOC when sending the Get Flash Size Command. In my .cyacd file its clear that the first row of data has the a row ID of 0x50 (80), but after calling the Get Flash Size Command the PSoC returns a valid row rand of 0x51(81) to 0xFF.
Does anyone have any ideas about this? Why would the row numbers be different? I'm just reprogramming the same .cyacd file to test this.
I'm using the API from AN86526.
I'm looking into using Die Temperaturep [v1.0] block on a PSOC 4 CY8C4245PVS-482.
This is an extended temp PSOC 4 that I'm using for a high temp application. When I open the data sheet for this block I notice the first thing it says in the Features section is "Valid operating range from -40 degrees C to +85 degrees C".
I'm wondering if this documentation is incorrect or if the software/hardware limits the internal measuring range of the die temp measurement to max of +85 degrees C.
The data sheet of the the CY8C4245PVS-482 says the max operating temp of the junction for that micro is +105 degrees C.
I would expect the Die Temperature feature to measure up to that +105 degrees C temp and not saturate at +85 degrees C. I'm going to test this out as soon as my board arrives from our contract manufacturer.
I just want to check with Cypress that any temp readings above +85 degrees C will be in spec of the parts reading capabilities for that function of the PSOC.
I've attached a screen shot of the data sheet I'm referring to.
Thanks,
Kyle
Show LessUsing the CYBLE-214009-00 Module & PSoC Creator 3.3 CP3.
I added a CapSense P4-V3.0 object and configured two buttons and Auto-tune since it was the default (see Capsense.jpg).
I am using a SAR ADC and 7 analog inputs to measure voltage, temperature, etc.
Also have a BLE and SPI Master objects too.
I am able to compile the project. My question deals with the pin selections made by the PSoC Creator (see Design.jpg)
1. Cmod function is assigned to pin P3.5 (I read where the Cmod is internally connected to a capacitor inside the module and nothing else was needed.
2. The 2 x CapSense buttons are assigned to pins '33' and '34', which makes no sense since there are only 32 pins on the EZ-BLE module.
I have two unused pins that I hope can be used for the CapSense buttons. I also hope Pin P3.5 an be left along too.
I have looked at some example code and Cmod is generally assigned to pin '33' and the CapSense sliders/buttons are assigned to available pins less than #32.
Does anyone have an idea of what kind of 'pot hole' I might of put my foot into?
Show LessHi !
In my project I want to use button to different modes. Short press make for example print status and long press make software reset to device.
How to do this ? Any idea please.
Show LessI'm trying to upgrade my KitProg to the newest version. I'm using the PSoC programmer, clicking upgrade firmware, unplugging then replugging. It goes through the upgrade and reports a success, but then reports the same firmware version. Has anyone had this issue? I attached the programmer output.
Show LessI've got a project which includes separate OTA bootloader (Fixed Stack) and bootloadable / application code. I'm trying to implement some mechanism such that the application code can know the version of the bootloader code that's on the device.
Inside the OTA bootloader code, I've added the following code
In main.h
#define FIRMWARE_VERSION_MAJOR 0x00
#define FIRMWARE_VERSION_MINOR 0x01
#define FIRMWARE_VERSION_BUILD 0x02
typedef struct
{
uint8 major;
uint8 minor;
uint8 build;
}BTL_FIRMWARE_VERSION;
In main.c
BTL_FIRMWARE_VERSION GetBootloaderVersion(void)
{
BTL_FIRMWARE_VERSION bootloader_firmware;
bootloader_firmware.major = FIRMWARE_VERSION_MAJOR;
bootloader_firmware.minor = FIRMWARE_VERSION_MINOR;
bootloader_firmware.build = FIRMWARE_VERSION_BUILD;
return bootloader_firmware;
}
And then I've updated the linker file (cm0gcc.ld) to include the following two lines:
KEEP(*(i.GetBootloaderVersion*))
KEEP(*(.text.GetBootloaderVersion*))
After making those updates, I've compiled the bootloader project and run the mk.bat script without any problems/errors/warnings. Then I've updated my application code to include the following:
In the header file:
typedef struct
{
uint8 major;
uint8 minor;
uint8 build;
}BTL_FIRMWARE_VERSION;
extern BTL_FIRMWARE_VERSION GetBootloaderVersion(void);
In the .c file
BTL_FIRMWARE_VERSION bootloader_firmware = GetBootloaderVersion();
However, when I compile the application code, I get an error on the line above in my .c file which states "Build error: undefined reference to 'GetBootloaderVersion'.
This leads me to believe that I am doing something wrong with the linker script and the function is getting optimized out of the bootloader, but I'm not sure what else I should try, as I'm having NO problem sharing all the relevant BLE stack functions between the bootloader and the application with the linker script in the same fashion.
Any insight or suggestions on how I can easily achieve this would be greatly appreciated! Thanks in advance!
Show LessHi. I need any Bluetooth module with ability to communicate with my MCU via UART by some commands like AT. For example my MCU sends via UART to Bluetooth module AT command RoleSwitch or PassKeyAccept and so on (example of STMicroelectronic Bluetooth module).
Does Cypress have Bluetooth modules that meeting my requirements ?
I can buy these models:
CYBLE-012012-10
CYBLE-012011-00
CYBLE-022001-00
CYBLE-014008-00
Is it possible to use it with AT like commands ?
Unfortunately I must use only STM32 MCU but any Bluetooth module.
Thank you.
The API call CyBle_StoreBondingData states in the description:
"This function writes the new bonding data from RAM to the dedicated Flash
location as defined by the component".
But where does it write it to? This is important from the point of view of bootloader checksum verification of the application and also flash protection settings.
Show LessHi, I already have a CY8CKIT042 (not BLE) and some CY8CKIT049.
If I buy a CY8CKIT-143 PSoC 4 BLE 256KB Module, will I be able to program it with a kit I already have?
Can I do something like what described in this article:
Using the CY8CKIT-049 to Program Another PSoC® 4 - KBA93541
Thank you very much.
Show Less