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

 
 
 
Reply to this topicStart new topic
> IAR .icf для Dataflash, Можно ли использовать стандартный sdram.icf и где найти информацию
Didro
сообщение Dec 7 2009, 20:48
Сообщение #1


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

Группа: Участник
Сообщений: 94
Регистрация: 9-04-07
Пользователь №: 26 893



Добрый день,

только начинаю программировать ARM (AT91SAM9260). Работаю с IAR.
При линковке использую стандартные файлы определения сегментов (*.icf) - для запуска программы из SDRAM (уст. на плате) использую sdram.icf

На плате также установленная энергонезависимая Dataflash - есть какой-то свой собственный .icf файл для Dataflash или можно использовать sdram.icf ?
.icf файлы использую пока по принципу указал путь до файла и забыл.

Спасибо
Go to the top of the page
 
+Quote Post
KRS
сообщение Dec 7 2009, 20:58
Сообщение #2


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

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Didro @ Dec 7 2009, 23:48) *
На плате также установленная энергонезависимая Dataflash - есть какой-то свой собственный .icf файл для Dataflash

Это вы про SPI Dataflash (AT45xx)? Так непосредственно из нее программу нельзя выполнять, да и к данным обращаться. Надо считывать через SPI в ОЗУ.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 7 2009, 20:59
Сообщение #3


Гуру
******

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



Его и быть не может, т.к. DataFlash никак не отражена в адресном пространстве процессора. Соответственно, и для линкера этой памяти как бы не существует.
Загрузку кода и данных из нее придется организовать вручную.
Go to the top of the page
 
+Quote Post
Didro
сообщение Dec 7 2009, 21:08
Сообщение #4


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

Группа: Участник
Сообщений: 94
Регистрация: 9-04-07
Пользователь №: 26 893



Цитата(aaarrr @ Dec 7 2009, 23:59) *
Его и быть не может, т.к. DataFlash никак не отражена в адресном пространстве процессора. Соответственно, и для линкера этой памяти как бы не существует.
Загрузку кода и данных из нее придется организовать вручную.


Спасибо за ответы.
А как организуется размещение программы в Dataflash при таком вариант загрузки как "DataFlash Boot" (раздел 13.4 даташита на AT91SAM9260) ?
Т.е. если просто скомпилировать программу на Си в IAR и зашить её .bin в Dataflash, то загрузчик не запустит эту программу (Не скопирует её во внутренний sram и не запустит) - как же в таком случае задавать структуру программы, если не в .icf?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Dec 7 2009, 21:27
Сообщение #5


Гуру
******

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



Цитата(Didro @ Dec 8 2009, 00:08) *
Т.е. если просто скомпилировать программу на Си в IAR и зашить её .bin в Dataflash, то загрузчик не запустит эту программу (Не скопирует её во внутренний sram и не запустит) - как же в таком случае задавать структуру программы, если не в .icf?

Почему же, если прописать на месте вектора 0x14 размер кода, то скопирует и запустит. Другое дело, что объем программы будет ограничен размером SRAM. Т.е. предполагается, что это будет некий ваш собственный загрузчик, который развернет основную программу.
Go to the top of the page
 
+Quote Post
mdmitry
сообщение Dec 8 2009, 12:59
Сообщение #6


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

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



Процесс загрузки можно посмотреть на примере загрузки linux`а для отладочной платы Atmel. Там несколько стадий загрузки: инициализация RAM и минимально периферии (bootstrap), загрузка второго загрузчика с поддержкой бОльшей периферии (u-boot), загрузка приложения, то есть ядра Linux, которое уже грузит ОС.


--------------------
Наука изощряет ум; ученье вострит память. Козьма Прутков
Go to the top of the page
 
+Quote Post
andrewlekar
сообщение Dec 10 2009, 09:49
Сообщение #7


Знающий
****

Группа: Участник
Сообщений: 837
Регистрация: 8-02-07
Пользователь №: 25 163



Загрузчик, будучи правильно сконфигурирован, скопирует содержимое датафлэшины в сдрам и запустит прогу на исполнение. Таким образом вам нужно пересобрать проект AT91Bootstrap, если у вас есть отличия от дефолтных параметров на вашей плате. При этом линковать программу следует так, чтобы она работала из сдрам, так как оттуда она и будет запущена.
Go to the top of the page
 
+Quote Post

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

 


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


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