Forum : ARM
Original Post
Post Information | Post |
---|---|
November 19, 2015 - 9:46pm
|
I am having trouble changing a project to a larger device in the same family. Have been using the STM32F303x8 for a while now after migrating from the 030 series. New project needed more pins so just moved to a larger part with 64 pins (303RC) and not going so well. Code is doing okay, much easier than the 030 to 30 conversion. Part erases, then programs. Hit RUN and immediate error OPI Driver Error (2750). Error reported by the DTC (Data Transfer Component) Terminating debug session. Checked address assignments several times, and it is not an access fault problem like the 030 conversion caused. What is this error telling me? An old post mentions clock issues? I need enlightment on what might be going wrong. TIA, Gary M. |
Dear Gary,
"DTC" errors can be due to a lot of things like a clock issue.
In order to help you we will need more informations about your software and the issue:
Could you provide us the Ride7 and Rkit-ARM you are using? Are you using a Rlink or STlink for the connection? What is the serial number?
Can you managed to connect to the debugger? to the target? what are the message?
Could you provide the entire name of the new device? did you changed the processor name in Ride7? did you tried an example provided by Ride7 or the Cube for this specific target?
Best regards,
Thnks for the attention.
I think compiler is current. Last updated 2015-07-28. Serial is dngSR7P00000730. Using RIDE7 standard and RKit-ARM Lite Suite with RLINK.
I ahve not tried an example but will do so.
This app project was created by RIDE7 and then files imported from a previous project. The linker files were quite different and took some effort to reconcile.
The originalpart was STM32F303K8, the new part is STM32F303RC. I did find a bug while adding code for the extra UART5 peripheral. The interrupt number UART5_IRQn (53) was missing. I ahd to add a define of STM32F303RC to the compiler options to get it recognized. File Stm32f30x.h required the define or else it defaulted to STM32F334x8 which covered the smaller 303x8 chip.
Using the RLINK debugger I can program the part, but clicking RUN causes the fatal DTC error 2750 to appear. Upon exit (plus about two seconds) the micro takes off and runs. At this point it appears to do everything it is supposed to. Output pins are operating in response to input pins, USARTS are transmitting messages, bit speeds are accurate, crystal is running, SPI is talking to FRAM using DMA, LEDs are working.
Found the problem, or at least what causes it. During init, for each port I set some pins to out, then some pins to in, then some to analog. All use same call to GPIO_Init() with the same structure. Just change the mode and the pin bits. Making the call with mode set to GPIO_Mode_In causes the debugger to abort. This exact code does work with the 303K6 and 303K8 part.
Since I don't really need to specifically set inputs, commented them out and all is working normally again.
I created a project using Cube and it does load and run. Code executes really slow, but it is a HAL based so no surprise there. Two LEDs are supposed to pulse, but they are not correct. But it runs.
Edit: Found the LED problem as a typo. Project is using just the bare minimum of code to output to LEDs.
Dear Gary,
Glad you found the problem and thanks for the feedback.
Best regards,