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

 
 
 
Reply to this topicStart new topic
> Должен ли бутлоадер быть перемещенным?, В смысле, уйти с нулевого адреса?
DpInRock
сообщение Feb 16 2009, 21:17
Сообщение #1


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Вот какой вопрос.
Должен ли самодельный бутлоадер уползать с нулевого адреса, куда его загрузит сам-ба или пусть живет? А компилировать программу с какого-нибудь другого адреса старта?
Процессор at91sam9261.
Вроде получается, что можно по-любому. Токо непонятно, как в домах Лондона и Парижа принято?
Или бутлоадер загоняется в кэш, а потом поверх себя пишет? И все довольны?


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 16 2009, 21:48
Сообщение #2


Гуру
******

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



Цитата(DpInRock @ Feb 17 2009, 00:17) *
Должен ли самодельный бутлоадер уползать с нулевого адреса, куда его загрузит сам-ба или пусть живет? А компилировать программу с какого-нибудь другого адреса старта?

Я бы оставил в нулевом, с MMU все становится относительно.

Цитата(DpInRock @ Feb 17 2009, 00:17) *
Или бутлоадер загоняется в кэш, а потом поверх себя пишет? И все довольны?

Во-первых, даже находясь в кэше, поверх себя загрузчик записать ничего не сможет - придется его класть в SRAM. Во-вторых, это вообще не очень красивый метод.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Feb 16 2009, 22:56
Сообщение #3


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Т.е. в Лондоне люди компилируют программы с учетом размера загрузчика?
В принципе, не жалко обрезка памяти в начале. Можно наверное заставить компилятор что-нибудь там хранить.
--
Просто опыта у меня с загрузчиками почти нет - ровно один загрузчик написал для TMS320-6414. Уместился в 1К байт.
И был перемещаемым. И столько мучений было из-за того, что кэш никак не хотел инвалидатиться полностью.

Нет ли каких-то неприятностей, связанных с компиляцией не с нулевого адреса? Все равно ведь векторы прерываний будут. Хотя они тут у всех одинаковые...


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 16 2009, 22:59
Сообщение #4


Гуру
******

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



Цитата(DpInRock @ Feb 17 2009, 01:56) *
Нет ли каких-то неприятностей, связанных с компиляцией не с нулевого адреса? Все равно ведь векторы прерываний будут. Хотя они тут у всех одинаковые...

Решительно никаких неприятностей. Вектора можно и подменить.
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Feb 16 2009, 23:33
Сообщение #5


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Да. Вроде как стартап подправить немного. Ну может еще линкерный файл. Сейчас посмотрел. Вроде как ничего особенного.
Но все равно. Как-то хотел избежать этого загрузчика и обойтись самбой.
Я-то обойдусь, а вот те, кто придет после - врядли. Ну почему атмеловцы не загнали в саму самбу возможность писать во флэшку? Ну ведь так просто было б. Вот теперь изобретай колесо. Даже не колесо, а весь лисапед целиком.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 16 2009, 23:47
Сообщение #6


Гуру
******

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



Цитата(DpInRock @ Feb 17 2009, 02:33) *
Ну почему атмеловцы не загнали в саму самбу возможность писать во флэшку?

Параллельную AMD-style? Из корпоративных интересов - пользуйте, люди, DataFlash smile.gif
Go to the top of the page
 
+Quote Post
DpInRock
сообщение Feb 16 2009, 23:59
Сообщение #7


Гуру
******

Группа: Участник
Сообщений: 2 254
Регистрация: 4-05-07
Из: Moscow
Пользователь №: 27 515



Так я и говорю про датафлэш!!! С радостью использую. Маленькая, места не занимает. А чтоб программу туда загнать, я должен аж целый скрипт выполнить, загнать туда программу, которая уже чего-то там запишет.
Хотя, можно и так, наверное. Благо хоть систему команд опубликовали... А я всегда полагал, что ихний лоадер содержит команды записи в датафлэш и не парился. А тут взглянул и расстроился маленько. Как будто дел других нет.


--------------------
On the road again (Canned Heat)
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Feb 17 2009, 02:55
Сообщение #8


Гуру
******

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



Цитата(DpInRock @ Feb 17 2009, 02:59) *
Так я и говорю про датафлэш!!! С радостью использую. Маленькая, места не занимает.

Только стоит немеряно sad.gif

Цитата(DpInRock @ Feb 17 2009, 02:59) *
А чтоб программу туда загнать, я должен аж целый скрипт выполнить, загнать туда программу, которая уже чего-то там запишет.

Проще сделать свой бут, тем более что далеко не всякая программа ляжет в внутреннюю SRAM.
Go to the top of the page
 
+Quote Post
Harbour
сообщение Feb 17 2009, 05:40
Сообщение #9


Местами Гуру
*****

Группа: Validating
Сообщений: 1 103
Регистрация: 5-12-04
Пользователь №: 1 323



как бы получается перебор - samba + bootloader + прога. самбу нафиг, все равно каличная - а где ляжет бутлоадер все равно, по нулевому удобней - не надо париться с прыжками, векторами ...
Go to the top of the page
 
+Quote Post
dch
сообщение Feb 17 2009, 10:13
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 179
Регистрация: 15-09-04
Из: 141070 г. Королев МО, улица Горького 39-121
Пользователь №: 661



Цитата(DpInRock @ Feb 17 2009, 00:17) *
принято?

просто линукс обычно компилируется в нижние адреса, поэтому можно сделать к в uboot-е откопировать себя в старший мегобайт и запустить linux - недостаток при несиправности SDRAM - у Вас отсутствует какойнибудь функционал на платочке. Лучше конечно чтобы лоадер выполнялся вобще из flash
Go to the top of the page
 
+Quote Post

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

 


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


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