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

 
 
> Загрузка AT91RM9200 из SPI DataFlash, Использование Flashloader'а и
Ruslan1
сообщение Aug 23 2006, 09:56
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Здравствуйте!
Помогите чайнику.
Задача собственно тривиальная, но как именно к ней подступиться- не понимаю. Совсем торможу.
cranky.gif

Железо: есть плата на AT91RM9200, на которой установлена AT45DB642. Есть J-Link.
Софт: IAR 4.40A.
Пользователь: начинающий. умеет писать и отлаживать сишные программы в внутреннем SRAM и наплатном SDRAM. Понимает как править сишный стартап, но совершенно не разбирается в Армовском ассемблере. Документацию прочитал (как ему кажется).

Задача: Их собственно две:
1. Написать программу, которая, автономно загрузившись во внутреннее SRAM, сможет оттуда работать (помигать светодиодом)
2. Написать программу, цель которой- проинициализировать SDRAM, загрузить в SDRAM основную пользовательскую программу, передать этой пользовательской программе управление.

Сначала хочется разобраться с первой задачей.

Насколько я понял, Flashloader (я рассматривал написанный VladislavS, огромное спасибо!) загружает подготовленный файл в dataFlash. Однако как этот файл должен быть предварительно подготовлен, чтобы при следующем ресете бутлоадер определил его как валидное приложение и загрузил его? В даташите написано, что для этого с адреса 0 первые 32 байта должны содержать строго определенную информацию, в том числе длину кода (шестой вектор, +0x14).
Как мне это обеспечить?

Далее, как этот файл записать? Поставил в IAR галку на Flashloader, указал где сам Flashloader находится, указал куда записать (--spi 0). Что-то еще?
У меня вроде бы записывается, в лог пишет:
AT45 at NPCSO searching
AT45DB642 found
Flash program complete

Но не работает. sad.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Ruslan1
сообщение Sep 17 2006, 15:50
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 360
Регистрация: 6-03-06
Из: Кишинев
Пользователь №: 15 025



Не могу сообразить, как мне делать бинарник, который будет загружаться с помощью первичного загрузчика. Неужели ручками? Пока что я вижу, что мне придется сделать:
1. Сказать линкеру сделать сырой бинарник. В результате получаю файл размером порядка полгигабайта, так как сам проект находится в SDRAM (с адреса 0x20000000).
2. Отрезать от этого файла все, что ниже 0x20000000.
3. Дописать размер этого файла, ну и еще можно адрес расположения и контрольную сумму(которую еще нужно посчитать), в начало файла.
В результате получаю искомый бинарник, который уже можно записывать в DataFlash.

И что, эти все действия нужно выполнять самописной утилиткой (которая, правда, несложна)?
Может, это уже где-нибудь в IAR уже встроено?
Или где лежит уже такая утилитка, готовая?
Go to the top of the page
 
+Quote Post



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

 


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


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