GenaSPB 11 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Одна маленькая тонкость - в этой программе отсутствует разрешение реагирования процессора на сигнал сброса - то есть, попробуйте выключить питание отладочной платы, а затем включить опять. Обычно это разрешение делается startup, но не всегда нужно (оно, конечно, удобно при отладке, но в реальной жизни может и не требоваться). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Уважаемый! Умеете в своем IDE генерить map-файл? Этот файл генерит линкер и показывает адреса загрузки всех глобальных функций и переменных (довольно внятный текстовой файл). Когда создадите этот файл посмотрите адрес main(). Если этот адрес равен начальному адресу флеш памяти - значит действительно у вас пропущен startup модуль, или он не включен в список файлов линкера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 (изменено) · Жалоба Одна маленькая тонкость - в этой программе отсутствует разрешение реагирования процессора на сигнал сброса - то есть, попробуйте выключить питание отладочной платы, а затем включить опять. Обычно это разрешение делается startup, но не всегда нужно (оно, конечно, удобно при отладке, но в реальной жизни может и не требоваться). я его и резетом сначала, потом вкл выкл питание...0 эмоций. что то тут явно не то.. ни один скачанный стартап не подошел.. Уважаемый! Умеете в своем IDE генерить map-файл? Этот файл генерит линкер и показывает адреса загрузки всех глобальных функций и переменных (довольно внятный текстовой файл). Когда создадите этот файл посмотрите адрес main(). Если этот адрес равен начальному адресу флеш памяти - значит действительно у вас пропущен startup модуль, или он не включен в список файлов линкера. вроде разобрался как их создавать..но не могу наити куда он их прячет) это оно?? main 0x00000081 0x58 Code Gb main.o [1] адрес в котороый записывается программа 0х100000 это судя по самбе..он же начальный адрес флеш. вот еще одно упоминание ?main 0x000001e0 Code Gb cmain.o [4] расширение фаила ...map? Изменено 4 ноября, 2009 пользователем alexan300 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба ну вот что он мне хочет этим сказать?? Вы ответы читаете? Версия у вас не та. Учитывая тот факт, что вы только начинаете разбираться с МК, то лучше все же начать с готового примера, иначе эта тема растянется еще на десяток-другой страниц. Поэтому или найдите пример для вашей версии ИАР (какой, кстати?), или скачайте ИАР, пригодный для компиляции имеющегося примера. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Вы ответы читаете? Версия у вас не та. Учитывая тот факт, что вы только начинаете разбираться с МК, то лучше все же начать с готового примера, иначе эта тема растянется еще на десяток-другой страниц. Поэтому или найдите пример для вашей версии ИАР (какой, кстати?), или скачайте ИАР, пригодный для компиляции имеющегося примера. IAR Systems\Embedded Workbench 5.4 Evaluation вот такая версия..наверно не надо было скачивать самую последнию, на нее еще в рускоязычном интернете примеров не придумали много.. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Скачайте последнюю доступную 4.xx. С ней этот пример должен нормально собраться. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Скачайте последнюю доступную 4.xx. С ней этот пример должен нормально собраться. http://www.iar.com/website1/1.0.1.0/102/1/ там только 5.2.. не знаете часом где б наит 4хх версию?? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 5 ноября, 2009 Опубликовано 5 ноября, 2009 (изменено) · Жалоба Скачал IAR Embedded Workbench for ARM 5.40 Kickstart, в ней добился того, что собирается работоспособный проект. Средствами среды не нашёл способа прошивать во flash скомпилированную программу (только загрузка и выполнение из озу возможно). Вернее, не смог правильно сконфигурирвать предлагаемые flash loader-ы. В соответствующих каталогах проекта лежат .hex файлы, дёргающие PA8 с небольшой скоростью. Программировал flash отдельной программой - всё работает. Изменено 5 ноября, 2009 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Ну вот и иллюстрация того, что все можно сделать если голову слегка напрячь. Удивительно, ведь чуть ли не по пунктам уважаемому alex300 объяснили, а он ни в какую. Ну да Бог ему в помощь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 (изменено) · Жалоба Народ гляньте пожалуиста кто может..запускается проект, бинарник создает работающий? у меня создает, записывается в МК, но опять не выполняется.. Вышеназванную версию ИАРа пока качаю. стартапа там кстати нету. Изменено 5 ноября, 2009 пользователем alexan300 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба стартапа там кстати нету. Елы-палы. Да startup, он зависит от типа процессора, ну и может быть от специфической платы! Вам уже несколько примеров готовых проектов пригнали со startup'ами. А вы все туда же. Взять нужный startup, добавить в свой проект в своей версии IAR. Это что требует наличия докторской степени по информатике? Неужели не собразить, что делают 30-50 строк ассемберного текста в startup'e? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 (изменено) · Жалоба Елы-палы. Да startup, он зависит от типа процессора, ну и может быть от специфической платы! Вам уже несколько примеров готовых проектов пригнали со startup'ами. А вы все туда же. Взять нужный startup, добавить в свой проект в своей версии IAR. Это что требует наличия докторской степени по информатике? Неужели не собразить, что делают 30-50 строк ассемберного текста в startup'e? Да вот елы палы! не один стартап не компилируется с программой! даже если я беру образец с рабочим бинарником (светодиод моргает у меня), то при открытии проекта во время компиляции выскакивают ошибки на стартап..я уже и комбинировал свои С код с различными стартапами, взятыми из разных источников, четко следил где находится этот фаил, дабы на него все пути указывали, что бы он сам рядшком лежал с маин и прочими фаилааи..но все равно ошибки при компиляции!! я даже версию другую ИАРа скачал, все одинаково. что они делают я понял..инициализируют процессор и передают управление во флеш программу. вон..щас вообще рекорд(((554 ошибки и почти все в стартапе((там и стро то столько нету вобщем не видать мне щастья... а кстати..какои стартап нужный???как это узнать?.....s79 или же ....c Изменено 5 ноября, 2009 пользователем alexan300 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 5 ноября, 2009 Опубликовано 5 ноября, 2009 (изменено) · Жалоба Народ гляньте пожалуиста кто может..запускается проект, бинарник создает работающий? у меня создает, записывается в МК, но опять не выполняется.. Вышеназванную версию ИАРа пока качаю. стартапа там кстати нету. Я же сказал - не записывается в ПЗУ. Только грузится естественно без результата. Адрес для кода в линкере я поставил с 0 - это надо каким-нибудь "флэшером" прожигать. IAR не делает этого. А "стартап" неявно подключается - о его наличии говорит содержимое .map файла после завершения построения проекта. Бинарник работающий, не беспокойтесь. Попробуйте .hex с помощью какой-нибудь утилиты вроде тех, что идут вместе с jtag адаптером прошить - и посмотрите на вывод PA8. У меня с частотой около полугерца машет. Возмоте мой проект и забудьте пока про стартап - он есть! Ну не даёт iar к нему доступа - так для начинающего продукт (на мой взгляд после знакомства с тем, что я вчера скачал). Изменено 5 ноября, 2009 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 5 ноября, 2009 Опубликовано 5 ноября, 2009 · Жалоба Бинарник работающий, не беспокойтесь. Попробуйте .hex с помощью какой-нибудь утилиты вроде тех, что идут вместе с jtag адаптером прошить - и посмотрите на вывод PA8. У меня с частотой около полугерца машет. ну нету у меня джатага..и утилиты соответсенно тоже..есть самба есть ИАР, есть юсб шнур и плата отладочная. на РА 8 как раз светодиод висит.. а что будет если я этот бинарник запишу в область памяти МК 0х0 EEPROM или же в SRAM 0x200000 ? последнии вопрос отменяется..попытки записи туда не удались и окончились зависанием.. Модератор (rezident). За систематическое нарушение п.3.4 Правил форума (излишнее цитирование) выношу Вам предупреждение. Пользуйтесь уже наконец встроенным редактором сообщений перед их отправкой! P.S. Личную почту хоть иногда нужно читать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 5 ноября, 2009 Опубликовано 5 ноября, 2009 (изменено) · Жалоба а что будет если я этот бинарник запишу в область памяти МК 0х0 EEPROM или же в SRAM 0x200000 ? В область 0 - скорее всего ничего не произойдёт. Вернее, надо прочитать повнимательней про маппинг после сброса у at91sam7sXXX - может оно в ОЗУ направляется? А при просто записи в область ПЗУ ничего не происходит, его содержимое не меняется и всё остаётся как и прежде. Если код, предназначенный для работы с абсолютного адреса 0 загручить со смещением - не знаю, зависит от кодогенератора. Сейчас я не знаю ассемблера АРМ настолько (и не собираюсь его изучать пока), чтоб сказать точно что будет, но, скорее всего, код выполняться будет из-за используемой в основном относительной адресации. НО, адрес ОЗУ прописан начинающимся с 0x200000 - и код, скорее всего, если используется что-то в ОЗУ - будет испорчен. Для отладки в ОЗУ попробуйте самостоятельно выделть два непересекающихся участка в ОЗУ и скомпилировать программу под эту конфгурацию (например, модифицировать конфигурацию debug того проекта, что я выложил). Ещё, есть предопределённые места в адресном пространстве - например, таблица векторов прерываний - и их прото так не переместишь. Мой пример не использует прерывания. Изменено 5 ноября, 2009 пользователем Genadi Zawidowski Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться