I have not seen any axi transfer when I run coresight example helloworld.
And the cpu program counter stopping in some code
I have some questions when I check my IMAGE0.lst file
1 .why printf is branch to putchar instead of printf in coresight example?
2. Is GCC retarget modify _write function?
3. What GCC glibc version recommended to use for coresight example and CPU-R8?
-------------IMAGE0.lst----------------
printf("A");
7d18: e3a00041 mov r0, #65 ; 0x41
7d1c: fa0000a3 blx 7fb0 <putchar>
---------------------------------------------
--------------retarget.c-------------------
void output_char(int c){
volatile int *tube = 0xfc000000;
*tube = c;
}
int _write(int fh, char *buf, int count) {
int i = 0;
while (i < count){
output_char(buf[ i++ ]);
-----------------------------------------
I use GCC 8.3.1 20190703 (release gun tool for arm embedded processor 8 2019.q3) and glibc is 2.14
Hi Tamar
Thanks for your reply.
1. I try to print more characters and it call printf function. thank you
2. I want to retarget my printf to UART
The coresight example provide a file retarget.c and include this file to compile.
I follow user guide to run simulation But it doesn't any transfer
The expected result is characters will see on AXI port.
So I'm not sure what I lost to do.
3. I have error when I run arm-none-eabi-gcc. -> arm-none-eabi-gcc: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by arm-none-eabi-gcc)
I download glibc2.14 to install and solve this error.
Do I use wrong tooling for coresight test? But our project need to use GCC.
Thank you!
Hi Ben,
The toolchain is built to support Ubuntu 14.04 and newer, so indeed a minimum of GLIBC 2.14 is required.
For the UART case did you try to compile the example as is to see if it works?
Cheers,
Tamar
I try to run the retarget example and it works.
Then found an issue in our design. Now we solve design's problem.
Final GCC retarget printf indeed to modify _write function
Thanks for your help!
No problem, I'll mark this as answered then :)