Other Parts Discussed in Thread: HALCOGEN
Tool/software: Code Composer Studio
Dear Sir,
Can you please send any working code for UART Bootloader for RM48L952 evaluation board.
Best Regards,
Praveena M
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.
Hello Wang,
Can you please send your application code in which SCI is working there.
We will check here.
Can you please give any suggestion for the interrupt to work in our application.
Thanks and Regards,
Praveena M
Hi Wang,
Can you please send your application code in which SCI is initialized and is working there, so that we can check here.
Here, in our application code interrupts are working fine. But, when we load the code through UART Boot Loader code, our application is not running.
Please, help us to solve the issues.
Thanks and Regards,
Praveena M.
Hello,
Nothing special. I just added sciInit() to main() in my application. The RX INT is enabled in sciInit().
Hi Wang,
We had given the same configuration, but still RX INT is not working. So, please send your code in which RX INT is working.
Thanks and Regards,
Praveena M
Hello Wang,
Can you please send your working application code (RX INT- sciInit()). We are eagerly waiting for your reply, because we are facing this issue from longtime(more than 2 months).
In our application code interrupt and SCI init is not working (if we load the code through UART Boot Loader).
So, please help us to solve this issues.
Thanks and Regards,
Praveena M
This is the file used in my RM48 UART bootloader test. The RX INT is enabled in my application test code.
/** @file sys_main.c
* @brief Application main file
* @date 11-Dec-2018
* @version 04.07.01
*
* This file contains an empty main function,
* which can be used for the application.
*/
/*
* Copyright (C) 2009-2018 Texas Instruments Incorporated - www.ti.com
*
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the
* distribution.
*
* Neither the name of Texas Instruments Incorporated nor the names of
* its contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
/* USER CODE BEGIN (0) */
/* USER CODE END */
/* Include Files */
#include "sys_common.h"
/* USER CODE BEGIN (1) */
#include "rti.h"
#include "gio.h"
#include "het.h"
#include "sci.h"
/* USER CODE END */
/** @fn void main(void)
* @brief Application main function
* @note This function is empty by default.
*
* This function is called after startup.
* The user can use this function to implement the application.
*/
/* USER CODE BEGIN (2) */
#define TSIZE1 13
uint8 TEXT1[TSIZE1]= {'A','P','P','L','I','C','A','T','I','O','N','!',' '};
void sciDisplayText(sciBASE_t *sci, uint8 *text, uint32 length);
void wait(uint32 time);
/* USER CODE END */
int main(void)
{
/* USER CODE BEGIN (3) */
/* Initialize RTI driver */
rtiInit();
sciInit();
/* Set high end timer GIO port hetPort pin direction to all output */
gioSetDirection(hetPORT1, 0xFFFFFFFF);
/* Enable RTI Compare 0 interrupt notification */
rtiEnableNotification(rtiNOTIFICATION_COMPARE0);
/* Enable IRQ - Clear I flag in CPS register */
/* Note: This is usually done by the OS or in an svc dispatcher */
_enable_IRQ();
sciDisplayText(scilinREG,&TEXT1[0],TSIZE1); /* send text code 1 */
/* Start RTI Counter Block 0 */
rtiStartCounter(rtiCOUNTER_BLOCK0);
/* Run forever */
while(1);
/* USER CODE END */
return 0;
}
/* USER CODE BEGIN (4) */
/* Note-You need to remove rtiNotification from notification.c to avoid redefinition */
void rtiNotification(uint32 notification)
{
/* enter user code between the USER CODE BEGIN and USER CODE END. */
/* Toggle HET pin 0 */
gioSetPort(hetPORT1, gioGetPort(hetPORT1) ^ 0x00000001);
}
void sciDisplayText(sciBASE_t *sci, uint8 *text,uint32 length)
{
while(length--)
{
while ((sci->FLR & 0x4) == 4); /* wait until busy */
sciSendByte(sci,*text++); /* send out text */
};
}
/* USER CODE BEGIN (4) */
/* USER CODE END */
https://e2e.ti.com/cfs-file/__key/communityserver-discussions-components-files/81/RM48Lx_5F00_rtiBlinky_5F00_BL_5F00_APP10020.hcg
Hi Wang,
We copied your main.c file in our application, in debugging mode it is working fine. (It is printing APPLICATION also).
But, when we generate .bin file and load through UART Boot Loader it is not working.
Here, in sys_link.cmd(), we changed vector and flash
VECTORS (X) : origin=0x00010020 length=0x00000020
FLASH0 (RX) : origin=0x00010040 length=0x0016FFB0
We changed our Application Start Address as, (#define APP_START_ADDRESS 0x00010040) in our UART Boot Loader Code.
It is not working, means our application is not running. Please, help us to solve this issue.
Thanks and Regards,
Praveena M
No problem on my side. After powering cycle the board, the led is blinking.
Hi Wang,
Here also when we load the code directly it is working fine.
But, our issue is when we generate .bin file and load through UART Boot Loader code, our application is not working.
Once, can you please generate the .bin file and load it through UART Boot Loader, there is an issue (Led is not blinking).
Please, provide us your contact number to discuss our problem directly. Our project is stopped for more than 2 months because of this UART Boot Loader.
Kindly, help us to solve this issue.
Thanks and Regards,
Praveena M
Hi Wang,
We are waiting for ur reply to solve this issue.
Thanks and Regards,
Praveena M
Hello Praveena,
Can you post your bootloader and application?
If the VECTOR is mapped to 0x10020, the APP_START_ADDRESS in bootloader should be 0x10020 rather than 0x10040
Hi Wang,
This is UART Boot Loader Code,
This is our Application Code,
Please, load the code (.bin file), through UART Boot Loader, our application is not working.
Please, help us to solve this issue.
Thanks & Regards,
Praveena M.
Hi Wang,
We had posted our UART Bootloader Code and Application Code, in the previous mail.
Please, check once and reply us as soon as possible.
Thanks and Regards,
Praveena M
Hi Wang,
Thank you for your response.
Please, reply us as soon as possible.
Thanks & Regards,
Praveena M.
Hello Praveena,
1. Mentioned before, you need to modify the linker cmd file for the application:
MEMORY
{
VECTORS (X) : origin=0x00010020 length=0x00000020
FLASH0 (RX) : origin=0x00010040 length=0x0016FFC0
FLASH1 (RX) : origin=0x00180000 length=0x00180000
STACKS (RW) : origin=0x08000000 length=0x00001500
RAM (RW) : origin=0x08001500 length=0x0003EB00
}
2. Please using the following approach to generate binary file.
script in post-build steps: "${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin" "${BuildArtifactFileName}" "${BuildArtifactFileBaseName}.bin" "${CG_TOOL_ROOT}/bin/armofd" "${CG_TOOL_ROOT}/bin/armhex" "${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin"
Hi Wang,
Thank you so much for your support.
Now, it is working fine.
Thanks & Regards,
Praveena M.
Hello Praveena,
I am glad that the issue has been solved. Please click "Resolved" button whenever the issue is resolved. Thanks