Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2021-окт-22 23:04

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 5 сообщений ] 
Автор Сообщение
СообщениеДобавлено: 2021-июн-17 09:47 
Не в сети

Зарегистрирован: 2019-окт-14 15:53
Сообщения: 7
Организация: Филиал ФГУП РФЯЦ ВНИИЭФ, НИИИС
Откуда: Нижний Новгород
Приветствую всех!
В виде тезисов задача описана в заголовке темы.
Программу устройства отладил из внутренней flash памяти. Разработка проведена в KEIL. Теперь её необходимо перенести во внешнюю память 1645рт3у.

Что я понял:
- KEIL формирует только hex файл (не bin)
- В настройках компилятора нужно установить стартовый адрес области программ на 0.

Исходя из выше описанного передо мной встали следующие вопросы:

- при текущей электрической схеме (часть схемы с ПЗУ во вложении) какой объем памяти указывать в компиляторе? Хотя, как я понимаю, это имеет смысл только при исчерпании объёма ПЗУ
- как правильно и чем сформировать файлы для загрузки в ПЗУ для параллельного режима загрузки (2х8bit).


Вложения:
ROM.pdf [73.26 КБ]
251 скачивание
Вернуться к началу
СообщениеДобавлено: 2021-июн-17 13:40 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 583
megavolt0 писал(а): *
Исходя из выше описанного передо мной встали следующие вопросы:

- как правильно и чем сформировать файлы для загрузки в ПЗУ для параллельного режима загрузки (2х8bit).
Есть наркоманская утилита srecord http://srecord.sourceforge.net. Позволяет в т.ч. перевести hex в bin и попилить bin на 2 (и более) ППЗУ.
Получить bin можно и "Кайлом": c:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bincombined --output=my_proj.bin ..\obj\mu_proj.axf
Но пилить - srecord, в мануале есть примеры.


Вернуться к началу
СообщениеДобавлено: 2021-июн-17 14:37 
Не в сети

Зарегистрирован: 2019-окт-14 15:53
Сообщения: 7
Организация: Филиал ФГУП РФЯЦ ВНИИЭФ, НИИИС
Откуда: Нижний Новгород
ЧумА писал(а): *
Позволяет в т.ч. перевести hex в bin и попилить bin на 2 (и более) ППЗУ.
Проблема не в том, чтобы один бинарник разрезать на два. А в том, чтобы в одну ПЗУ лились старшие байты инструкций, а в другую - младшие...


Вернуться к началу
СообщениеДобавлено: 2021-июн-17 16:22 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 583
megavolt0 писал(а): *
ЧумА писал(а): *
Позволяет в т.ч. перевести hex в bin и попилить bin на 2 (и более) ППЗУ.
Проблема не в том, чтобы один бинарник разрезать на два. А в том, чтобы в одну ПЗУ лились старшие байты инструкций, а в другую - младшие...
И это тоже
Цитата:
Splitting an Image
If you have a 16-bit data bus, but you are using two 8-bit EPROMs to hold your firmware, you can generate the even and odd
images by using the −SPlit filter. Assuming your firmware is in the firmware.hex file, use the following:
srec_cat firmware.hex −split 2 0 −o firmware.even.hex
srec_cat firmware.hex −split 2 1 −o firmware.odd.hex
This will result in the two necessary EPROM images. Note that the output addresses are divided by the split multiple, so if your
EPROM images are at a particular offset (say 0x10000, in the following example), you need to remove the offset, and then
replace it...
srec_cat firmware.hex \
−offset −0x10000 −split 2 0 \
−offset 0x10000 −o firmware.even.hex
srec_cat firmware.hex \
−offset −0x10000 −split 2 1 \
−offset 0x10000 −o firmware.odd.hex
Note how the ability to apply multiple filters simplifies what would otherwise be a much longer script.


Вернуться к началу
СообщениеДобавлено: 2021-июн-18 16:36 
Не в сети

Зарегистрирован: 2020-фев-07 21:59
Сообщения: 25
Организация: Частное лицо
Напишите свой FLM-файл для кейл


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 5 сообщений ] 

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot], Google [Bot] и 2 гостя


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB