PSoC™ 6 Forum Discussions
Hi, all
checked from previous discussion saying that "using Nor Flash with file system need to erase all before write or create a file", Is that still true for emFile system?
my project need to write log to a file on a Nor Flash, and keep the log files until it is erased. If I must erase Nor flash before I update the log, it is a big problem.
Thanks.
Victor
Show LessHello, I have been working on a project that includes both AP and STA mode for PSoC6.
I successfully achieved to configure WiFi operations by using WCM and WHD libraries. However, when I tested what happens when I shut down the AP, which the PSoC connected, I got a stack overflow exception in debugging. When I trace the error, I found that the PSoC6 tries to reconnect to the AP with JOIN_RETRY_ATTEMPTS number of times. Then, if this number is exceeded, a timer thread is set to some backoff time to start to retry attempts. When this timer is finished, handshake_error_callback function is called second time and it starts retry attempts but in the first attempt, there is a stack overflow.
Device is CYSBSYSKIT-DEV-01. WiFi Connection Manager release v2.3 and WHD release is v2.1.
Thank you.
Show LessHi,
I have used below configuration to run an AWS example on PSoC board.
1. MTB 2.4
2. Board
CYSBSYSKIT-DEV-01
3. Example : OPTIGA_MQTT_Client.
I am trying to run this example without OPTIGA. After setting up a AWS configuration with auto generated certificates, I modified the configuration of the example. Here I have disabled the OPTIGA part in main.c and did the modification in mqtt_client_config.h by updating the certificates.
Code built successful and working till the Wi-Fi connection.
But after that the MQTT connection failed.
Error log :
MQTT connection failed with error code 0x8060009.
Help me to get this this resolved.
Regards
Note : I can ping to my endpoint through command line from system.
Hello,
I am working with BSP CY8CPROTO-062-4343W and emFile_Filesystem example application. I used the BSP assistant to modify the base BSP to our Part Number CY8C624AAZI-S2D44 which is essentially the same PN as the Base BSP but different package (CY8C624ABZI-S2D44). I am trying to improve my understanding of ModusToobox Workflow which frequently mystifies me from one example application to the next and one version to the next.
- Regarding Device Configuration and Relationship to BSP
I have generally found that no matter which BSP I pick or which application I pick resources are assigned "aliases" or "defines" in the device configurator but are seldom activated and/or selected via the check box. Take for example this PIN/LED resource :
Yet the project builds and programs and runs. In some cases if I activate the resources in the device configurator the project errors out and in some cases builds but does not run. How and why is this case? What is the point of the device configurator if the defined/assignments are taken care of else where? I have not been able to make the leap from device configurator aliases / defines to the generated source files? I see the defines in the generated source files but why do they get defined if they were not activated in via the device configurator?
- Similar theme and/or question regarding the emFile example. I would like to use an eMMC with 8 bit width. The out of the box example uses 4bit NOR. To use the 8 bit width I need sdhc_1 because sdhc_0 does not support 8 bit wide on our part no. You can see once again the resource was reserved by the file and then magically configured some where some how in some other part of the code architecture.
I can navigate the emFile/Segger code and configurations no problem and even setup the data structure for 8 bit wide etc... but still no clear path from the emFile hardware to the Device Configurator etc... How do I make sure or "pass sdhc_1" to the emFile ? I saw the Makefile USE_SD_CARD=1 but that does not seem to map back to sdhc_1 in any way that I can find.
Show Less
In PSoC Creator, we can design BLE on Dual CPU. there is an option in configure "Contoller on CM0+, Host and Profiles on CM4".
Now we start use MTB3.0. How to implement this?
Thanks!
Max
Show LessIs there any sample application available for PSoC6 device in Modus Toolbox IDE which demonstrate USB-CDC to UART bridge functionality.
I have created an application and its working but I am facing reliability issues with higher frame size and higher data transmission rate.
How to use SCB UART with RX DMA when receive frame size is not fixed?
Can i use emUSB-device cdc with DMA?
Show Less
Hi Everyone,
I am writing a program that opens a .cycad2 file and sends the data over UART. In the program I format the flash rows using the Infineon-AN213924_PSoC_6_MCU_Device_Firmware_Update_Software_Development_Kit_Guide-ApplicationNotes-v09_00-EN user guide and from a record of a successful DFU programming over UART which shows the DFU protocol and formatting.
I have successfully programed a device using the boot loader app from PSOC creator. I am using the AN213924 example project with App0, and App1 as a working model to test my code.
My question is how is the CRC-32C calculated on page 54 of the guide for the 0x49 DFU command (Program Data)? I have a function to calculate CRC-32C, but I'm unsure how the row of data in the .cycad2 is broken down to generate the CRC-32C bytes? Are all the bytes in the row added together, then a CRC-32C is performed on the result? Is the flash row broken into 4 byte 32 bit number, then added together for the CRC-32C? I don't see how it is specified in the document. All the other data packets with the DFU 0x37 command use a checksum which I have been able encode and matches the UART data I have observed.
I see these 4 bytes while watching the a successful DFU programming with App1 on the UART bus with the 0x49 command: 0x15, 0x61, 0x56, and 0x48 which I think is 0x48566115 to match the byte order of the other byte fields.
The row that generated this CRC-32C is below from the app1 .cyacd2 file:
:0000041000200008230104100D00000085010410000000000000000000000000000000000000000000000000000000008101041000000000000000008101041081010410810104108101041081010410810104108101041081010410810104108101041081010410810104108101041081010410810104108101041081010410810104108101041081010410810104108101041081010410810104108101041081010410810104108101041081010410810104108101041081010410810104108101041010B5064C2378002B07D1054B002B02D0044800E000BF0123237010BD3C07000800000000B8240410084B10B5002B03D00749084800E000BF07480368002B00D110BD064B002BFBD09847F9E70000000040070008B8240410E8010008000000007047FFF7FDFF72B60F4C104DAC4209DA21686268A368043B02DBC858D050FAE70C34F3E70A490B4A0020521A02DD043A8850FCDC084809490860BFF34F8F00F005F900F01DF8FEE7BC240410D42404103C070008140900080001000808ED00E0FEE7FEE700B504207146084202D0EFF3098001E0EFF30880043001F04BFBFEE710B562B6014800F067F9FEE70000051010B5002001F0BAF810BDC04670B56249E0239B00CB580F2213401A00D0329200525807210A40032A05D0042A06D0002A12D15A4814E05A4A106811E01A00C0329200554952581F210A40112A06D0132A
How is this CRC-32C evaluated? This is the last part I need to figure out to get my remote DFU updated program working.
Show LessHello all,
I have created the project using the CYBLE 416045-2 where the ADC continuously samples data and as soon as 240 bytes of data is acquired it is sending it through notification packet over the BLE (Project is attached herewith)
The connection is established properly, and I am able to send data continuously. I am trying to measure current during this entire process. I have attached my multi-meter with a jumper on the J8 jumper on the board as marked by yellow on the picture attached. The J2 jumper (marked by blue) decides the voltage level on the board. With 3.3 V I am observing current of 117.3mA however when I open the J2 jumper (board running on 1.8V) the current I am observing is around 1.2mA however in this case I am not able to find the BLE connection of the board on the Cy smart app or even on the BLE dongle.
Can anyone guide me is this the correct way to measure current for this board? If so, what am I doing wrong such that the current is going to 117.3mA in 3.3V case because it is WAY TOO MUCH above the board specification.
Also, if there is any wrong on the programming side could you guide me on how to reduce current for this case. I want to run the board on minimum possible power and minimum possible current cause it needs to run for days on a single cell of battery.
Thanking you,
Anik Sengupta
Show LessI am trying to get the MCUBoot to work with my custom board (using a dual data pin SPI chip).
The original example worked fine with the devkit (CY8CPROTO-062-4343W).
In the custom board, I am using MX25V1635FM1I as serial flash (with only two pins used for data).
I changed the serial flash driver using QSPI Configurator (which is being used correctly by blinky_cm4 correctly.
But it appears that the bootload_cm0p is using auto detect SFDP (which attempts to use the serial flash as octal device) which does not work (since the Cy_SMIF_MemSfdpDetect uses CY_SMIF_WIDTH_OCTAL and populates the wrong read commands during the initialization.
What is the proper way to initialize the SMIF or flash_qspi driver from bootloader to use the correct SPI settings?
I was able to get it working by changing CY_SMIF_WIDTH_OCTAL to CY_SMIF_WIDTH_DUAL in Cy_SMIF_MemSfdpDetect, but I doubt that is the correct way to handle this situation.
Show Less
I cannot get the EEPROM working right in my program. I ran the EEPROM demo project and it works but I cannot use the same code because the compiler rejects it:
That is really tiny, hope it is readable. Anyway the compiler says that it cannot assign to the userFlashStartAddr. Maybe this has something to do with it being const, but in the example this works. After some trial I discovered that the example was using EEPROM version 2.0 and I was using 2.2 - Aha! I said, but changing to 2.0 makes no difference.
if I instead use EEPROM_Init ((uint32_t)EEPROM_em_EepromStorage). the init returns success, but every attempt to write to the EEPROM fails with the failure return value.
So It seems that I have to use the middleware Cy_ functions, but the complier will not accept the start address...
(Oh, and I am enabling global interrupts before the init function is called.)
Any help???
Thanks, Russ
Show Less