Hey there,
i'm going to use the UART4 on the ICE board v1.
But i don't get the point how to set up the pin mux with sys/bios.
i need some help to get started.
kind regards, hendrik
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hey there,
i'm going to use the UART4 on the ICE board v1.
But i don't get the point how to set up the pin mux with sys/bios.
i need some help to get started.
kind regards, hendrik
Hey judavhang,
i'm using SYS/BIOS 6.35.04.50
TI-RTOS 1.21.00.09
XDCtools 3.25.06.96
with CCS 5.5
kind regards
It is shocking that no one will help me.
What is the purpose of this forum then?
Sorry, for the delayed response. SYSBIOS/TIRTOS does not have drivers for that particular device.
I think you need to use the starterware. Have you looked at the ISDK?
http://processors.wiki.ti.com/index.php/AM335x_SYSBIOS_Industrial_SDK_01.01.00.05_Release_Notes#Introduction
Judah
yes i have. i'm trying it every day.
let's have a look at the next step:
i'm going to develop a uart-ethercat-converter.
i think i can use the ethercat only on sysbios?!
kind regards
it would be very fine to get any support for my request.
i'm trying to set up the uart with satrterware.
can i combine it with the sysbios to get the ethercat on the baord?
(i think ethercat is implemented in sysbios?)
am i right that there is no linux destribution for the TMDXICE3359?
kind regards
hey guys,
it's a litte annoying not to receive any support..
i'm going crazy. the uart pnmux will not work.
kind regards
Hi Hendrik,
what pin-mux settings are you using? Did you enable UART4 clocks?
We have examples in IA-SDK for UART3 and UART5. I don't see why this couldn't be converted to UART4...
Regards,
Hello Frank,
tahnks for your answer.
I tried to convert it from the examples, but i got errors while using the HWREG (for example).
So i thought there must be another possibility to set up the pinmux.
Especially i'm using sysbios. so i asked myself whether thus is poosible.
I interpret from your answer that it is so.
Kind regards, Hendrik
Hendrick,
yes, the UARTecho example is Sys/Bios based. But Sys/Bios doesn't really care about pins... you need to do this on your own. See the examples in the IA-SDK.
If you post your error messages we may be able to help. Generic requests usually go unanswered...
Regards,
Hey there,
i got the point now.
i added a new function for clock configuration.
the code in the uart.c and the declaration in the evmAM335x.h. there must be missing anything because i'm gettin error messages:
<Linking>
undefined first referenced
symbol in file
--------- ----------------
>> Compilation failure
UART4ModuleClkConfig ./uartEcho.obj
UART4PinMuxSetup ./uartEcho.obj
error: unresolved symbols remain
error: errors encountered during linking;
"../../../../../../../binary/armv7a/cgt_ccs/am335x/evmskAM335x/uart/Debug/ua
rtEcho.out" not built
gmake: *** [../../../../../../../binary/armv7a/cgt_ccs/am335x/evmskAM335x/uart/Debug/uartEcho.out] Error 1
gmake: Target `all' not remade because of errors.
**** Build Finished ****
Hendrik,
a quick search in the SDK files reveals there is no function UART4ModuleClkConfig. If you go through the SDK sources you will find it currently supports only UART3 and 5...
So I assume you wrote it? Is the file added to the project? Otherwise I have no explanation for why the linker does not find the object.
Regards,
i'm sorry i clicked unintentinally the verfying button.
yes, i wrote on my own.
i added the code in the uart.c (it's included to the project (i'm modifying the UARTecho example))
and the declaration is in the evmAM335x.h
the new function is also highlighted in code composer (as tip it is a known function).
kind regards
Please provide the project and I will have a look. I assume the project somehow misses to compile of your uart.c and therefor it can't find the object. Or your declarations don't match.
Regards,
i hope this will work.
i added my project to this post.
do i have to add snythin in the linker-library?
this is what i added to evmAM335x.h:
#ifndef _EVM_AM335X_H_ #define _EVM_AM335X_H_ #ifdef __cplusplus extern "C" { #endif /* * Own Creations */ extern void UART4ModuleClkConfig(); extern int UART4PinMuxSetup(); /***************************************************************************** ** INTERNAL MACRO DEFINITIONS *****************************************************************************/ #define CTRL_NUM_IOPAD_REGS (211) #define PRINT_WRG(x) UARTPuts ("\r\n|WARNING|", -1);\
and this in the uart.c file:
int UART4PinMuxSetup() { unsigned int status = FALSE; // /* RXD */ HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_CTSn(0)) = // UART4 is on the pin of UART0_CTSn (PINMUXMODE_2 | AM335X_INPUT_EN | AM335X_PIN_INPUT); /* TXD */ HWREG(SOC_CONTROL_REGS + CONTROL_CONF_UART_RTSn(0)) = // UART4 is on the pin of UART0_RTSn (PINMUXMODE_2 | AM335X_INPUT_DI | AM335X_PIN_OUTPUT); status = TRUE; return status; }
and:
void UART4ModuleClkConfig(void) { // Configuring the UART4 /* *** Activating the UART_GFCLK * * This field indicates the state of the UART_GFCLK clock in the domain. * * 0x0 = Inact : Corresponding clock is gated * 0x1 = Act : Corresponding clock is active */ HWREG(CM_PER_L4LS_CLKSTCTRL + CLKACTIVITY_UART_GFCLK) |= CM_PER_L4LS_CLKSTCTRL_CLKACTIVITY_UART_GFCLK_ACT;
Hendrik,
uart.c is part of Starterware and as such compiled into a lib. As long as you don't recompile the lib any changes in your uart.c are not recognized. The project build just uses the old objects which do not contain the new functions.
So you should just add a source link to uart.c in your project so that it gets recompiled. Or just copy the new file into your project source path and it will be automatically added.
Regards,
Hey Franz,
thanks for your support! Now it's running :)
Kind regards,
Hendrik