|
|
  |
как прошить AT91SAM7S256, на отладочной плате |
|
|
|
Nov 4 2009, 20:40
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Цитата(Genadi Zawidowski @ Nov 4 2009, 23:25)  Одна маленькая тонкость - в этой программе отсутствует разрешение реагирования процессора на сигнал сброса - то есть, попробуйте выключить питание отладочной платы, а затем включить опять. Обычно это разрешение делается startup, но не всегда нужно (оно, конечно, удобно при отладке, но в реальной жизни может и не требоваться). я его и резетом сначала, потом вкл выкл питание...0 эмоций. что то тут явно не то.. ни один скачанный стартап не подошел.. Цитата(sergeeff @ Nov 4 2009, 23:26)  Уважаемый!
Умеете в своем IDE генерить map-файл? Этот файл генерит линкер и показывает адреса загрузки всех глобальных функций и переменных (довольно внятный текстовой файл). Когда создадите этот файл посмотрите адрес main(). Если этот адрес равен начальному адресу флеш памяти - значит действительно у вас пропущен startup модуль, или он не включен в список файлов линкера. вроде разобрался как их создавать..но не могу наити куда он их прячет) это оно?? main 0x00000081 0x58 Code Gb main.o [1] адрес в котороый записывается программа 0х100000 это судя по самбе..он же начальный адрес флеш. вот еще одно упоминание ?main 0x000001e0 Code Gb cmain.o [4] расширение фаила ...map?
Сообщение отредактировал alexan300 - Nov 4 2009, 21:05
|
|
|
|
|
Nov 4 2009, 21:01
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Цитата(aaarrr @ Nov 4 2009, 23:55)  Вы ответы читаете? Версия у вас не та.
Учитывая тот факт, что вы только начинаете разбираться с МК, то лучше все же начать с готового примера, иначе эта тема растянется еще на десяток-другой страниц. Поэтому или найдите пример для вашей версии ИАР (какой, кстати?), или скачайте ИАР, пригодный для компиляции имеющегося примера. IAR Systems\Embedded Workbench 5.4 Evaluation вот такая версия..наверно не надо было скачивать самую последнию, на нее еще в рускоязычном интернете примеров не придумали много..
|
|
|
|
|
Nov 4 2009, 21:07
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Цитата(aaarrr @ Nov 5 2009, 00:04)  Скачайте последнюю доступную 4.xx. С ней этот пример должен нормально собраться. http://www.iar.com/website1/1.0.1.0/102/1/там только 5.2.. не знаете часом где б наит 4хх версию??
|
|
|
|
|
Nov 5 2009, 20:30
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Цитата(sergeeff @ Nov 5 2009, 23:15)  Елы-палы. Да startup, он зависит от типа процессора, ну и может быть от специфической платы! Вам уже несколько примеров готовых проектов пригнали со startup'ами. А вы все туда же. Взять нужный startup, добавить в свой проект в своей версии IAR. Это что требует наличия докторской степени по информатике? Неужели не собразить, что делают 30-50 строк ассемберного текста в startup'e? Да вот елы палы! не один стартап не компилируется с программой! даже если я беру образец с рабочим бинарником (светодиод моргает у меня), то при открытии проекта во время компиляции выскакивают ошибки на стартап..я уже и комбинировал свои С код с различными стартапами, взятыми из разных источников, четко следил где находится этот фаил, дабы на него все пути указывали, что бы он сам рядшком лежал с маин и прочими фаилааи..но все равно ошибки при компиляции!! я даже версию другую ИАРа скачал, все одинаково. что они делают я понял..инициализируют процессор и передают управление во флеш программу. вон..щас вообще рекорд(((554 ошибки и почти все в стартапе((там и стро то столько нету вобщем не видать мне щастья... а кстати..какои стартап нужный???как это узнать?.....s79 или же ....c
Сообщение отредактировал alexan300 - Nov 5 2009, 20:34
|
|
|
|
|
Nov 5 2009, 20:40
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Цитата(alexan300 @ Nov 5 2009, 21:35)  Народ гляньте пожалуиста кто может..запускается проект, бинарник создает работающий? у меня создает, записывается в МК, но опять не выполняется.. Вышеназванную версию ИАРа пока качаю. стартапа там кстати нету. Я же сказал - не записывается в ПЗУ. Только грузится естественно без результата. Адрес для кода в линкере я поставил с 0 - это надо каким-нибудь "флэшером" прожигать. IAR не делает этого. А "стартап" неявно подключается - о его наличии говорит содержимое .map файла после завершения построения проекта. Бинарник работающий, не беспокойтесь. Попробуйте .hex с помощью какой-нибудь утилиты вроде тех, что идут вместе с jtag адаптером прошить - и посмотрите на вывод PA8. У меня с частотой около полугерца машет. Возмоте мой проект и забудьте пока про стартап - он есть! Ну не даёт iar к нему доступа - так для начинающего продукт (на мой взгляд после знакомства с тем, что я вчера скачал).
Сообщение отредактировал Genadi Zawidowski - Nov 5 2009, 20:43
|
|
|
|
|
Nov 5 2009, 20:47
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Цитата(Genadi Zawidowski @ Nov 5 2009, 23:40)  Бинарник работающий, не беспокойтесь. Попробуйте .hex с помощью какой-нибудь утилиты вроде тех, что идут вместе с jtag адаптером прошить - и посмотрите на вывод PA8. У меня с частотой около полугерца машет. ну нету у меня джатага..и утилиты соответсенно тоже..есть самба есть ИАР, есть юсб шнур и плата отладочная. на РА 8 как раз светодиод висит.. а что будет если я этот бинарник запишу в область памяти МК 0х0 EEPROM или же в SRAM 0x200000 ? последнии вопрос отменяется..попытки записи туда не удались и окончились зависанием.. Модератор (rezident). За систематическое нарушение п.3.4 Правил форума (излишнее цитирование) выношу Вам предупреждение. Пользуйтесь уже наконец встроенным редактором сообщений перед их отправкой! P.S. Личную почту хоть иногда нужно читать.
Причина редактирования: Излишнее цитирование.
|
|
|
|
|
Nov 5 2009, 21:05
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Цитата а что будет если я этот бинарник запишу в область памяти МК 0х0 EEPROM или же в SRAM 0x200000 ? В область 0 - скорее всего ничего не произойдёт. Вернее, надо прочитать повнимательней про маппинг после сброса у at91sam7sXXX - может оно в ОЗУ направляется? А при просто записи в область ПЗУ ничего не происходит, его содержимое не меняется и всё остаётся как и прежде. Если код, предназначенный для работы с абсолютного адреса 0 загручить со смещением - не знаю, зависит от кодогенератора. Сейчас я не знаю ассемблера АРМ настолько (и не собираюсь его изучать пока), чтоб сказать точно что будет, но, скорее всего, код выполняться будет из-за используемой в основном относительной адресации. НО, адрес ОЗУ прописан начинающимся с 0x200000 - и код, скорее всего, если используется что-то в ОЗУ - будет испорчен. Для отладки в ОЗУ попробуйте самостоятельно выделть два непересекающихся участка в ОЗУ и скомпилировать программу под эту конфгурацию (например, модифицировать конфигурацию debug того проекта, что я выложил). Ещё, есть предопределённые места в адресном пространстве - например, таблица векторов прерываний - и их прото так не переместишь. Мой пример не использует прерывания.
Сообщение отредактировал Genadi Zawidowski - Nov 5 2009, 21:09
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|