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.