реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> TI AM1705, u-boot, помогите запустить, посмотрите свежим взглядом
Arischenko Ivan
сообщение Dec 15 2011, 20:37
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768



Добрый день

Не могу запустить u-boot. Плата на AM1705, NAND 512Mb, SDRAm 16Mb. Выведен UART0.

1. Прошивку в NAND пишу при помощи CCS 4, BlackHawk USB100V2 и AISGen. elf файл преобразую при помощи AISGen в AIS формат и при помощи CCS4 через BlackHawk USB100V2 (проект NANDWriter) пишу в NAND.

2. Я написал standalone приложение, эхо тесто UART0, слинкованное в SDRAM и загрузил в NAND, после RESET приложение нормально стартует и по порту выдает эхо символы по UART0;

3. U-boot взят из пакета от TI sdk_1_10_00_01, поправил и пересобрал (поменял UART, размер памяти и т.д.):

Код
make da830_omapl137_evm_config CROSS_COMPILE=arm-linux-gnueabi-
make all CROSS_COMPILE=arm-linux-gnueabi-


4. Для AIGen проверил и поставил правильные частоту и тайминги на память, проверил осциллографом : после RESET на память SDCLK приходит 100Мгц от процессора.

5. В прикрепленном файле - diff между оригинальным uboot от ti и моими правками. Прикрепленный файл  uboot_am1705.txt ( 6.71 килобайт ) Кол-во скачиваний: 276



Помогите : что я упустил что u-boot ничего не кажет в консоли?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 15 2011, 20:46
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



А поддержку NAND отключить не пробовали?
Go to the top of the page
 
+Quote Post
Arischenko Ivan
сообщение Dec 16 2011, 12:51
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768



Цитата(aaarrr @ Dec 16 2011, 00:46) *
А поддержку NAND отключить не пробовали?


Меня берут сомнения, что это поможет. Я попробую "оригинальный" u-boot загрузить и припаяться на плате к UART2. По коду не видно, что если памяти меньше это должно ломать u-boot;
Go to the top of the page
 
+Quote Post
Arischenko Ivan
сообщение Dec 16 2011, 20:57
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768



Получается, компилятор не воспринимает опции : -march=armv5te -march=armv5te. Я пользовался компилятором из ubuntu он собрал следующий elf :

CODE
$ readelf -h -A /mnt/u-boot
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0xc1080000
Start of program headers: 52 (bytes into file)
Start of section headers: 747752 (bytes into file)
Flags: 0x5000002, has entry point, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 2
Size of section headers: 40 (bytes)
Number of section headers: 21
Section header string table index: 18
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "7-A"
Tag_CPU_arch: v7
Tag_CPU_arch_profile: Application
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-2
Tag_FP_arch: VFPv3-D16
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_enum_size: int
Tag_DIV_use: Not allowed


Поставил buildroot, пересобрал компилятором из buildroot :
CODE
$ readelf -h -A u-boot
ELF Header:
Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00
Class: ELF32
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: EXEC (Executable file)
Machine: ARM
Version: 0x1
Entry point address: 0xc1080000
Start of program headers: 52 (bytes into file)
Start of section headers: 739084 (bytes into file)
Flags: 0x5000002, has entry point, Version5 EABI
Size of this header: 52 (bytes)
Size of program headers: 32 (bytes)
Number of program headers: 2
Size of section headers: 40 (bytes)
Number of section headers: 21
Section header string table index: 18
Attribute Section: aeabi
File Attributes
Tag_CPU_name: "5TE"
Tag_CPU_arch: v5TE
Tag_ARM_ISA_use: Yes
Tag_THUMB_ISA_use: Thumb-1
Tag_ABI_PCS_wchar_t: 4
Tag_ABI_FP_denormal: Needed
Tag_ABI_FP_exceptions: Needed
Tag_ABI_FP_number_model: IEEE 754
Tag_ABI_align_needed: 8-byte
Tag_ABI_enum_size: int
Tag_DIV_use: Not allowed


Попробовать не успел, теперь смущает строка : "Entry point address: 0xc1080000", память у меня начинается с 0xc0000000 и ее размер всего 16М, а адрес это уже через 256М от начала. Если смотреть ELF для тестовой эхо программы то там Entry point address: 0xc0000004


Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 16 2011, 21:04
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Arischenko Ivan @ Dec 16 2011, 16:51) *
Меня берут сомнения, что это поможет.

Дык попробуйте, дело нехитрое. Просто NAND-часть u-boot'а очень даже любит глухо виснуть.

Цитата(Arischenko Ivan @ Dec 17 2011, 00:57) *
память у меня начинается с 0xc0000000 и ее размер всего 16М, а адрес это уже через 256М от начала.

Через 16.5 на самом деле.
Go to the top of the page
 
+Quote Post
sasamy
сообщение Dec 17 2011, 09:58
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 783
Регистрация: 22-11-08
Пользователь №: 41 858



Цитата(Arischenko Ivan @ Dec 17 2011, 00:57) *
Получается, компилятор не воспринимает опции : -march=armv5te -march=armv5te. Я пользовался компилятором из ubuntu он собрал следующий elf :


В Ubuntu компилятор "заточен" под armv7 cortex-a.

Цитата
теперь смущает строка : "Entry point address: 0xc1080000", память у меня начинается с 0xc0000000 и ее размер всего 16М


Кто же мешает исправить - чего тут смущаться sm.gif
board/davinci/da8xxevm/config.mk
Код
# DA8xx EVM has 1 bank of 64 MB SDRAM (2 16Meg x16 chips).
# Physical Address:
# C000'0000 to C400'0000
#
# Linux-Kernel is expected to be at C000'8000, entry C000'8000
# (mem base + reserved)
#
# we load ourself to C108 '0000


#Provide at least 16MB spacing between us and the Linux Kernel image
TEXT_BASE = 0xC1080000


Естественно что у вас ничего не работает - u-boot копируется в несуществующую RAM.
Go to the top of the page
 
+Quote Post
Arischenko Ivan
сообщение Dec 18 2011, 19:03
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 112
Регистрация: 29-10-06
Пользователь №: 21 768



Цитата(sasamy @ Dec 17 2011, 13:58) *
В Ubuntu компилятор "заточен" под armv7 cortex-a.

Кто же мешает исправить - чего тут смущаться sm.gif

board/davinci/da8xxevm/config.mk
Код
# DA8xx EVM has 1 bank of 64 MB SDRAM (2 16Meg x16 chips).

#Provide at least 16MB spacing between us and the Linux Kernel image
TEXT_BASE = 0xC1080000


Естественно что у вас ничего не работает - u-boot копируется в несуществующую RAM.


Ок, спасибо. U-boot запустился, теперь буду править сеть с родного PHY на KSZ8721BL

CODE
U-Boot 2009.11 (Dec 16 2011 - 23:39:18)

DRAM: 16 MB
NAND: 64 MiB
Bad block table found at page 131040, version 0x01
Bad block table found at page 131008, version 0x01
nand_bbt: ECC error while reading bad block table
*** Warning - bad CRC or NAND, using default environment

In: serial
Out: serial
Err: serial
ARM Clock : 300000000 Hz
Net: No ETH PHY detected!!!

Hit any key to stop autoboot: 0
U-Boot >
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 02:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016