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

 
 
> Raw binary в Arm Realview/ADS/SDT
Hexxx
сообщение Oct 27 2007, 20:01
Сообщение #1


Участник
*

Группа: Свой
Сообщений: 49
Регистрация: 29-03-06
Пользователь №: 15 592



Сделать свой ассемблерный startup ARM код и потом переход в сишный Thumb. Код асемблерный написал. В конце ассемблера вот такой переход:
Код
LDR   R12,   Main_Addr
BX    R12
  
IMPORT  __program_start      

Main_Addr DCD __program_start


Написал сишный код чтобы посмотреть как соберется:
Код
extern int __program_start(void);
int __program_start(void)
{
    return 1;
}


Компилится, собираю образ получаю:
Код
Warning : L6323W: Multiple variants of __program_start exist. Using the ARM variant to resolve relocation #0 in init.o(BOOT_NAND_LOADER)

Warning : L6323W: Multiple variants of __program_start exist. Using the ARM variant to resolve relocation #0 in init.o(BOOT_NAND_LOADER)

Warning : L6305W: Image does not have an entry point. (Not specified or not set due to multiple choices.)

В полученом образе получается, что сначала идет функция __program_start, а только потом startup код, который прыгает на __program_start.

Вопрос 1: как ему правильно задать entry point? ENTRY в ассемблере я писал. И в настройках проекта пытался указать имя - упорно невидит.
Вопрос 2: как сделать так чтобы вначале был таки startup код?
Впорос 3: откуда у компилера "Multiple variants of __program_start"? Как это убрать?

Сообщение отредактировал Hexxx - Oct 27 2007, 20:11
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 17:03
Рейтинг@Mail.ru


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