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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> Какие действия происходят в МК до main() ?, Какой язык используется в .xcl файле?
Толик
сообщение Nov 20 2007, 14:25
Сообщение #16


Участник
*

Группа: Новичок
Сообщений: 30
Регистрация: 26-02-07
Из: Москва
Пользователь №: 25 687



И правда..... в стартапе есть код копирующий функцию в RAM.

EXTERN __segment_init
EXTERN main
; Initialize segments.
; __segment_init is assumed to use
; instruction set and to be reachable by BL from the ICODE segment
; (it is safest to link them in segment ICODE).
ldr r0,=__segment_init
mov lr, pc
bx r0
Сначала я очистил RAM (испортил), затем прошёлся пошагово по стартапу с радостью замечая постепенное заполнение памяти....затем увидел в RAMе свою ф-цию.

Сразу после этого стартап прыгает в main()

PUBLIC __main
?jump_to_main:
ldr lr,=?call_exit
ldr r0,=main
__main:
bx r0

Всем спасибо...

Сообщение отредактировал Толик - Nov 20 2007, 14:27
Go to the top of the page
 
+Quote Post
VladislavS
сообщение Nov 21 2007, 05:32
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 475
Регистрация: 14-04-05
Из: Москва
Пользователь №: 4 140



Вижу как приходит понимание. smile.gif Так держать!
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Nov 21 2007, 07:34
Сообщение #18


Начинающий профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 25-10-06
Из: СПб
Пользователь №: 21 648



В документации к WinAVr(gcc) (avr-libc) подробно расписаны секции инициализации (.init0-9) и секции завершения программы (.finit0-9). Для ARM на gcc должно быть что-то похожее.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Nov 21 2007, 11:27
Сообщение #19


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



Цитата(mdmitry @ Nov 21 2007, 09:34) *
В документации к WinAVr(gcc) (avr-libc) подробно расписаны секции инициализации (.init0-9) и секции завершения программы (.finit0-9). Для ARM на gcc должно быть что-то похожее.
Возможно. В документации на ИАР это тоже расписано. И IgorKossak дал ссылку на документацию еще во втором сообщении. Но ведь наш человек твердо следует принципу "если уже ничего не помогает - прочтите, наконец, инструкцию". В данном случае до инструкции пока не добрались laughing.gif


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 26th July 2025 - 07:44
Рейтинг@Mail.ru


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