Перейти к содержанию
    

как прошить AT91SAM7S256

Одна маленькая тонкость - в этой программе отсутствует разрешение реагирования процессора на сигнал сброса - то есть, попробуйте выключить питание отладочной платы, а затем включить опять. Обычно это разрешение делается startup, но не всегда нужно (оно, конечно, удобно при отладке, но в реальной жизни может и не требоваться).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемый!

 

Умеете в своем IDE генерить map-файл? Этот файл генерит линкер и показывает адреса загрузки всех глобальных функций и переменных (довольно внятный текстовой файл). Когда создадите этот файл посмотрите адрес main(). Если этот адрес равен начальному адресу флеш памяти - значит действительно у вас пропущен startup модуль, или он не включен в список файлов линкера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Одна маленькая тонкость - в этой программе отсутствует разрешение реагирования процессора на сигнал сброса - то есть, попробуйте выключить питание отладочной платы, а затем включить опять. Обычно это разрешение делается startup, но не всегда нужно (оно, конечно, удобно при отладке, но в реальной жизни может и не требоваться).

я его и резетом сначала, потом вкл выкл питание...0 эмоций.

что то тут явно не то..

ни один скачанный стартап не подошел..

 

Уважаемый!

 

Умеете в своем IDE генерить map-файл? Этот файл генерит линкер и показывает адреса загрузки всех глобальных функций и переменных (довольно внятный текстовой файл). Когда создадите этот файл посмотрите адрес main(). Если этот адрес равен начальному адресу флеш памяти - значит действительно у вас пропущен startup модуль, или он не включен в список файлов линкера.

вроде разобрался как их создавать..но не могу наити куда он их прячет)

это оно??

main 0x00000081 0x58 Code Gb main.o [1]

адрес в котороый записывается программа 0х100000 это судя по самбе..он же начальный адрес флеш.

вот еще одно упоминание

?main 0x000001e0 Code Gb cmain.o [4]

 

расширение фаила ...map?

Изменено пользователем alexan300

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ну вот что он мне хочет этим сказать??

Вы ответы читаете? Версия у вас не та.

 

Учитывая тот факт, что вы только начинаете разбираться с МК, то лучше все же начать с готового примера, иначе эта тема растянется еще на десяток-другой страниц. Поэтому или найдите пример для вашей версии ИАР (какой, кстати?), или скачайте ИАР, пригодный для компиляции имеющегося примера.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы ответы читаете? Версия у вас не та.

 

Учитывая тот факт, что вы только начинаете разбираться с МК, то лучше все же начать с готового примера, иначе эта тема растянется еще на десяток-другой страниц. Поэтому или найдите пример для вашей версии ИАР (какой, кстати?), или скачайте ИАР, пригодный для компиляции имеющегося примера.

IAR Systems\Embedded Workbench 5.4 Evaluation

вот такая версия..наверно не надо было скачивать самую последнию, на нее еще в рускоязычном интернете примеров не придумали много..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скачайте последнюю доступную 4.xx. С ней этот пример должен нормально собраться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скачайте последнюю доступную 4.xx. С ней этот пример должен нормально собраться.

http://www.iar.com/website1/1.0.1.0/102/1/

там только 5.2..

не знаете часом где б наит 4хх версию??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Скачал IAR Embedded Workbench for ARM 5.40 Kickstart, в ней добился того, что собирается работоспособный проект. Средствами среды не нашёл способа прошивать во flash скомпилированную программу (только загрузка и выполнение из озу возможно). Вернее, не смог правильно сконфигурирвать предлагаемые flash loader-ы.

В соответствующих каталогах проекта лежат .hex файлы, дёргающие PA8 с небольшой скоростью.

Программировал flash отдельной программой - всё работает.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ну вот и иллюстрация того, что все можно сделать если голову слегка напрячь. Удивительно, ведь чуть ли не по пунктам уважаемому alex300 объяснили, а он ни в какую. Ну да Бог ему в помощь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ гляньте пожалуиста кто может..запускается проект, бинарник создает работающий?

у меня создает, записывается в МК, но опять не выполняется..

Вышеназванную версию ИАРа пока качаю.

стартапа там кстати нету.

Изменено пользователем alexan300

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

стартапа там кстати нету.

 

Елы-палы. Да startup, он зависит от типа процессора, ну и может быть от специфической платы! Вам уже несколько примеров готовых проектов пригнали со startup'ами. А вы все туда же. Взять нужный startup, добавить в свой проект в своей версии IAR. Это что требует наличия докторской степени по информатике? Неужели не собразить, что делают 30-50 строк ассемберного текста в startup'e?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Елы-палы. Да startup, он зависит от типа процессора, ну и может быть от специфической платы! Вам уже несколько примеров готовых проектов пригнали со startup'ами. А вы все туда же. Взять нужный startup, добавить в свой проект в своей версии IAR. Это что требует наличия докторской степени по информатике? Неужели не собразить, что делают 30-50 строк ассемберного текста в startup'e?

Да вот елы палы! не один стартап не компилируется с программой! даже если я беру образец с рабочим бинарником (светодиод моргает у меня), то при открытии проекта во время компиляции выскакивают ошибки на стартап..я уже и комбинировал свои С код с различными стартапами, взятыми из разных источников, четко следил где находится этот фаил, дабы на него все пути указывали, что бы он сам рядшком лежал с маин и прочими фаилааи..но все равно ошибки при компиляции!! я даже версию другую ИАРа скачал, все одинаково.

что они делают я понял..инициализируют процессор и передают управление во флеш программу.

вон..щас вообще рекорд(((554 ошибки и почти все в стартапе((там и стро то столько нету

вобщем не видать мне щастья...

а кстати..какои стартап нужный???как это узнать?.....s79 или же ....c

Изменено пользователем alexan300

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Народ гляньте пожалуиста кто может..запускается проект, бинарник создает работающий?

у меня создает, записывается в МК, но опять не выполняется..

Вышеназванную версию ИАРа пока качаю.

стартапа там кстати нету.

 

Я же сказал - не записывается в ПЗУ. Только грузится естественно без результата. Адрес для кода в линкере я поставил с 0 - это надо каким-нибудь "флэшером" прожигать. IAR не делает этого.

 

А "стартап" неявно подключается - о его наличии говорит содержимое .map файла после завершения построения проекта.

 

Бинарник работающий, не беспокойтесь. Попробуйте .hex с помощью какой-нибудь утилиты вроде тех, что идут вместе с jtag адаптером прошить - и посмотрите на вывод PA8. У меня с частотой около полугерца машет.

 

Возмоте мой проект и забудьте пока про стартап - он есть! Ну не даёт iar к нему доступа - так для начинающего продукт (на мой взгляд после знакомства с тем, что я вчера скачал).

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Бинарник работающий, не беспокойтесь. Попробуйте .hex с помощью какой-нибудь утилиты вроде тех, что идут вместе с jtag адаптером прошить - и посмотрите на вывод PA8. У меня с частотой около полугерца машет.

ну нету у меня джатага..и утилиты соответсенно тоже..есть самба есть ИАР, есть юсб шнур и плата отладочная.

на РА 8 как раз светодиод висит..

а что будет если я этот бинарник запишу в область памяти МК 0х0 EEPROM или же в SRAM 0x200000 ?

последнии вопрос отменяется..попытки записи туда не удались и окончились зависанием..

 

Модератор (rezident). За систематическое нарушение п.3.4 Правил форума (излишнее цитирование) выношу Вам предупреждение. Пользуйтесь уже наконец встроенным редактором сообщений перед их отправкой!

P.S. Личную почту хоть иногда нужно читать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

а что будет если я этот бинарник запишу в область памяти МК 0х0 EEPROM или же в SRAM 0x200000 ?

В область 0 - скорее всего ничего не произойдёт. Вернее, надо прочитать повнимательней про маппинг после сброса у at91sam7sXXX - может оно в ОЗУ направляется? А при просто записи в область ПЗУ ничего не происходит, его содержимое не меняется и всё остаётся как и прежде.

Если код, предназначенный для работы с абсолютного адреса 0 загручить со смещением - не знаю, зависит от кодогенератора. Сейчас я не знаю ассемблера АРМ настолько (и не собираюсь его изучать пока), чтоб сказать точно что будет, но, скорее всего, код выполняться будет из-за используемой в основном относительной адресации. НО, адрес ОЗУ прописан начинающимся с 0x200000 - и код, скорее всего, если используется что-то в ОЗУ - будет испорчен. Для отладки в ОЗУ попробуйте самостоятельно выделть два непересекающихся участка в ОЗУ и скомпилировать программу под эту конфгурацию (например, модифицировать конфигурацию debug того проекта, что я выложил).

 

Ещё, есть предопределённые места в адресном пространстве - например, таблица векторов прерываний - и их прото так не переместишь. Мой пример не использует прерывания.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...