PRINTF in Keil uvision5 - c

I am working for the first time with the STM32 Nucleo L476RG board with the X-Nucleo IDB05A1 Expansion board for developing Bluetooth Low Energy Applications.
I will develop with Keil uvision5. In uvision5 I could succesfully built the SensorDemo example from the STM32CubeExpansion package, loaded the code to the flash memory of the board and started a debug session/run the code.
In that code example are a lot of PRINTF statements used. But where can I see the output of those?
I tried things like here or here but it didn't work.
Can anyone help me out or has an easier solution?
Or would there be an easier or better environment for developping with STM32 bluetooth low energy boards?
Thanks in Adavance!

Related

PIC16 microcontroller_ no output even after following tutorial

I am using PICKIT 4, PIC16F18446 microcontroller, and MPLAB X IDE. I am following an instruction provided from Microchip, Measuring frequency
Update:
I am not entirely sure what i needs to change but I am consistently getting an output of Frequency: 25536 whether there is an input signal or not. (Image of the output, and pin configuration shown below)
The Original Poster is using a PIC18 tutorial for a PIC16F target.
The MPLABX Code Configurator (MCC) tool is an awful thing for anyone new to the Microchip development tools to use.
An MPLABX project that does what I think this tutorial is about for the PIC16F18446 target is here in my git hub repository.
MCC was used to create most of this code so you should be able to see how it was done.
This code runs in the MPLABX simulator but that is a buggy hot mess. Use it with caution.

Advise needed from any ARM Cortex-M programmers out there

I've decided to make the step up from using PIC to ARM Cortex-M but having trouble finding an equivalent to the PICKIT to program it.
After googling the net I have been given loads of options but have no idea what to buy.
Can anyone out there give me any advise on what to buy?
I'm so used to buying a PIC16F microcontroller, using MPLAB and the PICKIT 3 I'm unsure about what I need.
I like the ST-Nucleo and the slightly more complex ST Discovery. They are inexpensive (start at around $13), versions for just about all STM32 series, built-in ST-LINK debug pod, and have Arduino style header connectors.
You can program it using free or commercial IDE/compilers, mBed compilers, and even the Arduino IDE. You can start with using the free CubeMX graphical generator to generate initialization code.
So literally all you have to spend minimally is just a $13 kit and a USB cable to get started.

FreeRTOS for PIC32MX120F064H using MPLABX IDE

I want to use FreeRTOS for PIC32MX120F064H using MPLABX IDE. I tried a lot but couldn't find any simple LED blinking project for this specific microcontroller that I am using. I even tried demo projects given by FreeRTOS but they are for specific microcontrollers and doesn't work with my microcontroller. I only need the project structure (meaning what/how files to include) and a simple LED blinking demo. I know from the FreeRTOS site that we have to include task.c, queue.c and list.c as basic files but I tried everything but no luck. Please somebody help me with this.
The FreeRTOS.org site has a page describing how to convert a demo from one device in an MCU family to another device in the same family. Alternatively have the MPLAB Harmony tool create a FreeRTOS project for your chip.

Atmel-ICE programming atsam4sd32c

I am having problems with the programming of a custom pcb which is using the 32-bit atsam4sd32c ARM Cortex M4. I am unable to program the microcontroller trough the JTAG/SWD interface using the ATMEL-ICE debugger. However I am able to get the device signature identifier using the atmel studio 7.0 command promt. Doing manual chip erases and resets is also possible.
When I try to program the board via the atmel studio 7.0 software the upload hangs at 14%.
We have tried a lot but not progress is being made.
Can anyone help?
Thank you all for your responses.
I was aware of the fact that this question was a little unfit for this forum.
But I hoped there might be people here who had experience with the atmel ARM series microcontrollers.
I did contact Atmel support and aventually that helped out.
The problem was in de hardware design of the JTAG lines. I was unaware of the need for pull-up resistors on all JTAG lines (TMS, TDI, TDO, NRST and TCK).
after we applied the resistors programming worked fine.
greetings,
Maarten Roozendaal

Zynq Qspi Booting

I'm using Arm DS-5 and Xilinx SDK for developing programs on Zynq board.
I'm trying to boot Zynq 702 board from Qspi Flash.
What I've done so far is generating FSBL project from Xilinx SDK, and combining it with my application using Bootgen tool in SDK, then program it into the flash.
There are several questions in my mind.
DS-5 produces an .axf file, Bootgen requires an .elf file. Can I use
the .axf file by just changing its extension to .elf or do I require
some more steps?
Is there a tool that shows the inner structure of an .axf file?
Showing what is where?
And how can I debug if I managed to boot from QSPI. For example I want to debug my application from the beginning of FSBL, is it possible? Because in Qspi Boot, When I power on the board, my application would start running and when I connect with JTAG, it would be in somewhere in my application.
An AXF might have some extra ARM-toolchain magic in it (I'm not sure off-hand), but at heart it's an ELF file - the ARM toolchain provides fromelf for poking around inside them, but other tools like readelf and objdump also work.
I'm not familiar with the Zynq platform so I don't know any specific debugger tricks, but a general one is just to put an infinite loop at the start of your code (possibly using volatile or inline asm trickery if necessary to prevent optimisation) - once the debugger's connected and broken into it, you just move the PC past the loop and continue.
You can totally halt QSPI-booted Zynq via JTAG and do whatever you want with it. However, there are some quirks. Sometimes Zynq goes into some kind of lockup, and JTAG doesn't work at all, and you need to power-cycle before retrying. Some not-so-well-written peripherial might die after starting software over JTAG, so you might need to re-load bitstream first. And there are some Vivado-related bugs (like the one where you cannot re-flash the board unless you downgrade to 2017.2 or change MIO2-6 pulls or patch the FSBL) but i'm not sure if they apply in your case.

Resources