Legacy microcontrollers Forum Discussions
text.format{('custom.tabs.no.results')}
I am trying to run the adc_scan_polling_sw example on a FM4-176L-S6E2CC-ETH board kit but it is giving me some strange values on the terminal I/O; e.g. if I use channel 16 I get 268370192 for 5 V and 272 for 0 V. Similarly, if I try for instance channel 4 I get 268370180 for 5 V and 260 for 0 V. Notice that the difference between those values is proportional to the difference in the number of the channels (16 - 4 = 12), pretty strange...
From my understanding, I should get 4096 for 5 V since it is a 12 bit conversion. Also I was trying to show the values into another terminal like PuTTY, but with no success either.
Any help would be really appreciated.
Show LessI couldn't find this datasheet on cypress website, anyone can share it?
Dear Cypress Support,
would you please be so kind and advise what the ending of the part number is standing for: GE1 and GK5E1.
A customer is asking what the difference is between those two items in details MB91F362GAPVSR-GE1 (EOL) and new MB91F362GAPVSR-GK5E1?
Thank you in advance and best regards
Andreas Steiner
Show LessI am now are using MB96F615 MCU,how can I get the IDE?
I am working on S6J3400 micro. I need to implement RAM and Flash 1-bit and double bit error injection test. Could you please provide RAM and Flash 1-bit and double bit error injection test sample code.
Show LessHi all,
I just bought the FM4-176L-S6E2CC-ETH Pioneer Kit and having issues trying to setup an IDE using Keil uVision 5 which I really hope someone could guide me through. The issue is I cannot program/debug it eventhough I have connected to the board and run pre-defined tests via a serial terminal.
Moreover, since this is related to multiple sectors, it is appreciated if you could provide insight with different approaches for this matter, i.e. maybe this is an issue with the IDE, virtual machine limitation, et cetera.
Background:
+ I'm using Windows 7x86 (32-bit) virtualized on a macOS High Sierra.
+ I followed the Jumper Despcription inside the board schematic from Cypress product page
- J4: 1-2 Power form CN2
- J3: 2-3 Flash Programming via USB
- J1, J2: Open
+ The Keil uVision5 setup was tried from 3 sources and neither of them work
- The S6E2CC Kit Quick Start Guide
- The S6E2CC Project Template from Cypress product page
- Laboratory Manual from ARM University Lab-in-a-box package which also using the same kit
Specifically, the connection indicated from Device Manager
Also, running tests from a 3rd party serial terminal successfully (for some reason the provided terminal did not work for me, i.e. opened then disappeared, although still running from background and was detected by Task Manager).
However, the setting in Options for Target <name> -> Debug -> CMSIS-DAP Debugger <Settings> are all blurred out (cannot select) without any indication of Debug Unit in detected JTAG device chain as well as when I chose Port: SW.
For more information, this is the Programming Algorithm was chosen and the CMSIS-DAP firmware version of the board.
Needless to say I have tried many different approaches and am considering to flash the J-Link firmware into the MB9AF312K, the details are in this question Development Environment Setup - DAP Device Not found. However, before I do that and permanently alter the original firmware, I would like to seek the helps from this communitiy first.
Thank you,
Tin Nguyen
Show LessHi, i've a very strange problem.
The I2C part of my software only works, when the debugger is connected. (It fails inside the PDL Mfs_I2c_GenerateStart() function in mfs.c)
If i download the debug version of the code, disconnect the debugger and power off / on the board, the software is running but I2C is not working.
If i download the release version the same thing happens.
But if i download the debug version and leave the debugger attached and the debug session running, the software works perfectly fine, as long as it can reconnect to the debugger when i power it on.
I already checked the reset pin, but that isn't the problem. What was really strange too is, that the clock settings where different when the debugger was connected than when it wasnt. I now set the CLOCK_SETUP define to CLOCK_SETTING_NONE and setup my clock with the PDL library myself and it's now running at 160 Mhz all the time.
What could cause I2C to fail, if the debugger is not connected? I guess it has something to do with a delay or a clock beeing different, but i can't find anything.
Show LessMy project deals with CAN communication on s6e2cc fm4 series board. I have an Arduino can shield available for this? I want to know the way to interface this shield with cypress board i have which is the fm4 s6e2cc ?Thank you
Show LessHello support team,
I encountered that the range comparision interrupt of the ADC does not work when using PDL 1.2 or PDL 2.1.
When configuring the range comparision interrupt and the interrupt should get active because the sampled ad value is in the specified range, then the AdcIrqHandler() function is called but it finds no reason for the call. As a consequence the interrupt handler is called again immediately briniging the system down.
After having a closer look at the register definition in the header file mb9abxxx.h (PDL 1.2) or the mb9bf56xr.h (PDL 2.1) I saw a wrong register structure definition.
Here is an extract of the header file mb9abxxx.h defining the structure FM4_ADC_TypeDef:
union {
__IO uint16_t ADCEN;
stc_adc_adcen_field_t ADCEN_f;
};
uint8_t RESERVED12[2];
uint32_t OFFESET;
union {
__IO uint8_t WCMRCOT;
stc_adc_wcmrcot_field_t WCMRCOT_f;
};
uint8_t RESERVED13[3];
union {
__IO uint8_t WCMRCIF;
stc_adc_wcmrcif_field_t WCMRCIF_f;
};
uint8_t RESERVED14[3];
union {
__IO uint8_t WCMPCR;
stc_adc_wcmpcr_field_t WCMPCR_f;
};
The bold printed Registers WCMRCOT and WCMRCIF (with their flag elements) are in the wrong order.
They have to be changed like it is written in the data sheet 002-04856_FM4_Famliy_Pripheral_Manual_Main_Part_TRM.pdf:
Be careful: The IAR workbench has the same mistake. If you have a look at the Special function registers of the ADC group then the rwegisters appear in the wrong order as well.
This can be fixed by editing the file MB9B560R.xml. Herein the register Offset values have to be changed:
<!-- REGISTER "WCMRCIF" -->
<register>
<name>WCMRCIF</name>
<description>Range Comparison Flag Register</description>
<addressOffset>0x44</addressOffset>
<size>8</size>
<access>read-write</access>
<resetValue>0x00</resetValue>
<resetMask>0x01</resetMask>
<!-- FIELDS -->
<fields>
<!-- FIELD "RCINT" -->
<field>
<name>RCINT</name>
<description>Range comparison interrupt factor flag</description>
<lsb>0</lsb>
<msb>0</msb>
<access>read-write</access>
</field>
</fields>
</register>
<!-- REGISTER "WCMRCOT" -->
<register>
<name>WCMRCOT</name>
<description>Range Comparison Threshold Excess Flag Register</description>
<addressOffset>0x48</addressOffset>
<size>8</size>
<access>read-write</access>
<resetValue>0x00</resetValue>
<resetMask>0x01</resetMask>
<!-- FIELDS -->
<fields>
<!-- FIELD "RCOOF" -->
<field>
<name>RCOOF</name>
<description>Threshold excess flag bit</description>
<lsb>0</lsb>
<msb>0</msb>
<access>read-write</access>
</field>
</fields>
</register>
Please confirm.
Show Less