[an error occurred while processing this directive]
|
Да по сути я так и делал.
Только не моторольный формат был.
Так получилось, что первой была разработка с загрузкой из SPI.
Для SPI подготавливался intel-hex файл (утилитка hex500).
Структуру этого файла, т.е. не собственно hex-файла, в нем ничего интересного, а стуктуру загружаемого, я изучил. Т.е. с чего начинается файл, entry point, разбивка по секциям.
А во второй работе, через HPI, мне просто лень было разбираться.
Поэтому подготавливал intel-hex якобы для SPI и загружал во флэш 149 из PC по UART, при этом адреса SPI в hex файле были относительными адресами флэша 149. Для загрузки в свою собственную флэш в 149 была соотв. программка. PC сообщала ей SPI-ный адрес и данные. А программка писала данные во флэш, используя SPI-ный адрес как смещение. Кроме того после записи всего файла записывался еще некий ключ. В другое место флэш. И означающий наличие DSP программы во флэш. А перед записью программы первым стирался сектор с ключом, а потом сектора с программой.
Просто основной режим работы устройства - автономный, без связи с PC.
Поэтому контроллеру нужно было знать о наличии DSP-шной программы в его флэш. Частично этой же цели служили ключевые байты в загружаемом файле.
Для загрузки из флэш в DSP - другая программка в 149, к-рая раскручивала структуру файла и писала по соотв. адресам в DSP.
Последним писался entry point. Кстати SPI тоже была. Подключалась и к DSP и к 149. Но предназначалась не для программы. Держал там, в частности, характеристики кучи фильтров согласованных, ну и другое. А DSP, в зависимости от режима работы, брал из SPI нужное. На все не хватало флэши 149. У 149, кроме загрузки DSP, было много других ф-ий и его собственная программа была довольно большой.
Но это уже с задачей связано.
E-mail: info@telesys.ru