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

 
 
> Порядок следования функций в .bootloader, WinAVR
Vitёk
сообщение Jul 13 2007, 06:05
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Добрый день!

В секции .bootloader имеется несколько функций. После сброса контроллера управление должно передаться одной из них, которая начинается с адреса, скажем, 0x1E000.
Проблема в том, что в памяти программ эти функции расположены не в том порядке, как они идут в исходном коде.
Ниже приведён фрагмент .map файла:
Код
.bootloader    0x0001e000       0xca bootldr2.o
                0x0001e0a0                bootloader_start
                0x0001e000                get_uart_char
                0x0001e016                get_uart_ctr


Т.е. вместо bootloader_start управление будет передано функции get_uart_char, что не является правильным...

Как это можно обойти?


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Vitёk
сообщение Jul 13 2007, 06:50
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Имеется ли возможность размещать секции друг за дружкой? Я имею в виду, можно ли указать линкеру разместить .boot_start по фиксированному адресу, а .boot_other сразу за ней?


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post



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

 


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


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