Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

AM1808 flashing "blink.c" in nand flash

$
0
0

sir,

I am using OMAP-L138 serial flash utility to burn my blinky code to nand flash. I used ubl_AM1808_NAND.out and Blink.out to create an AIS file "ubl_blink.bin". It gets written to nand flash successfully. Here is the command prompt output.

C:\Users\PALI\Desktop\sbc8018\OMAP-L138_FlashAndBootUtils_2_40\OMAP-L138\
GNU>sfh_OMAP-L138 -flash_noubl -targetType AM1808 -flashType NAND -v ubl_blink.b
in
-----------------------------------------------------
TI Serial Flasher Host Program for OMAP-L138
(C) 2012, Texas Instruments, Inc.
Ver. 1.67
-----------------------------------------------------


Platform is Windows.
[TYPE] Single boot image
[BOOT IMAGE] ubl_blink.bin
[TARGET] AM1808
[DEVICE] NAND
[NAND Block] 1

Attempting to connect to device COM1...
Press any key to end this program at any time.

(AIS Parse): Read magic word 0x41504954.
(AIS Parse): Waiting for BOOTME... (power on or reset target now)
(AIS Parse): BOOTME received!
(AIS Parse): Performing Start-Word Sync...
(AIS Parse): Performing Ping Opcode Sync...
(AIS Parse): Processing command 0: 0x58535901.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Loading section...
(AIS Parse): Loaded 14376-Byte section to address 0x80000000.
(AIS Parse): Processing command 1: 0x58535901.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Loading section...
(AIS Parse): Loaded 1316-Byte section to address 0x80003828.
(AIS Parse): Processing command 2: 0x58535906.
(AIS Parse): Performing Opcode Sync...
(AIS Parse): Performing jump and close...
(AIS Parse): AIS complete. Jump to address 0x80000000.
(AIS Parse): Waiting for DONE...
(AIS Parse): Boot completed successfully.

Waiting for SFT on the OMAP-L138...
Target: BOOTUBL
Target: DONE

Flashing application ubl_blink.bin (15540 bytes)

Target: SENDIMG
Target: BEGIN
100% [ ████████████████████████████████████████████████████████████ ]
Image data transmitted over UART.

Target: DONE
0% [ ------------------------------------------------------------ ]
Programming application into flash...

Target: Writing to block 0x00000001, address 0?00020000
Target: CurrBlockNum =0x00000001
Target: _riting image data to Block 0x00000001, Page 0x00000000
Target: ???????image data to Block 0x00000001, Page 0?00000001
Target: _riting image data to Block 0?00000001, Page 0?00000002
Target: Writing image data to Block 0?00000001, Page 0x00000003
Target: _riting image data to Block 0?00000001, Page 0x00000004
Target: ???????image data to Block 0x00000001, Page 0?00000005
Target: _riting image data to Block 0x00000001, Page 0?00000006
100% ████████████████████████████████████████████████████████████07
Application programming complete 8
Target: DONE
Target: DONE

Operation completed successfully.

NOW,

when i switch off my board, change switch configuration to nand boot mode and then switch on the board, i get following text on tera term:

AM1808 initialization passed!008D37.
Booting TI User Boot Loader
UBL Version: 1.65
UBL Flashtype: NAND
Starting NAND Copy...
Valid magicnum, 0x55424CBB, found in block 0x00000006.
DONE
úAM1808 initialization passed!008D37.
Booting TI User Boot Loader
UBL Version: 1.65
UBL Flashtype: NAND
Starting NAND Copy...
Valid magicnum, 0ø55424CBB, found in block 0x00000006.
DONE
Jumping to entry point at 0x80008D37.

after this nothing happens. Every time i press reset button with switch configuration in nand boot mode, i get the same message.

I am using OMAP-L138_FlashAndBootUtils_2_40. Below is my code for blinky. I am using ccsv5

#include<stdio.h>


#define SYS_BASE           0x01C14000
#define GPIO_BASE			0x01E26000
#define KICK0Ra             *(unsigned int*)(SYS_BASE + 0x038)
#define KICK1Ra             *(unsigned int*)(SYS_BASE + 0x03c)
#define PINMUX11a             *(unsigned int*)(SYS_BASE + 0x14c)
#define PINMUX12a             *(unsigned int*)(SYS_BASE + 0x150)
#define DIR45a             *(unsigned int*)(GPIO_BASE + 0x060)
#define OUT_DATA45a            *(unsigned int*)(GPIO_BASE + 0x064)
#define SET_DATA45a             *(unsigned int*)(GPIO_BASE + 0x068)
#define CLR_DATA45a             *(unsigned int*)(GPIO_BASE + 0x06C)

void DEVICE_kickUnlock();
void UARTConsolePuts(unsigned char *str);
void UARTConsolePutc(unsigned char data);
void UARTStdioInit();


int i=0;

void main(void) {

	UARTStdioInit();
	PINMUX11a=(PINMUX11a & ~ 0xFF000000) | 0x88000000;
	PINMUX12a=(PINMUX12a & ~ 0x0000000F) | 0x00000008;
	DIR45a = ~(0x03800000);

	OUT_DATA45a= (OUT_DATA45a + 0x03800000);
	UARTConsolePuts("Blinking LEDs\n\r");

while(1)
{

	OUT_DATA45a= (OUT_DATA45a + 0x03800000);
	for(i=100000000;i>0;i--);
}

}


void UARTConsolePuts(unsigned char *str)
{
	while(*str)
	   {
		UARTConsolePutc(*str++);
	   }

}

This code is working perfectly with ccs debug.

i am using ccs v5.2 and xds100v2.


Viewing all articles
Browse latest Browse all 17527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>