aaarrr 69 2 ноября, 2009 Опубликовано 2 ноября, 2009 · Жалоба Уберите это: //Enable RESET m_pRSTC->RSTC_RCR = 0xA5000008; m_pRSTC->RSTC_RMR = 0xA5000001; Вешалка же натуральная - сначала дернули внешний ресет, а затем тут же подключили его как источник собственного. Даже если просто взвести USRTEN, пока не кончился внешний сброс (бит NRSTL регистра RSTC_SR в нуле), процессор гарантированно не запустится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 2 ноября, 2009 Опубликовано 2 ноября, 2009 · Жалоба Если программа не запускается, надо: 1. Сделать ее максимально простой (минимум текста) 2. Четко локализовать, что работает, что нет. Я вам привел пример минимальной программы, которая позволяет удостовериться в том, что программа стартовала и дошла до бесконечного цикла (в котором и остается). Вы должны, при этом четко понимать, что до вызова main() выполняется startup модуль, написанный на ассемблере. Соответственно, если не вызывается main() возможны варианты: 1. Не стартует startup модуль вообще. 2. Программа виснет где-то в промежутке до вызова main(). 3. Не происходит передача управления из startup'a в main. Поколдовав немного, можно четко локализовать где что виснет, а затем покумекать по какой причине. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 2 ноября, 2009 Опубликовано 2 ноября, 2009 · Жалоба Даже если просто взвести USRTEN, пока не кончился внешний сброс (бит NRSTL регистра RSTC_SR в нуле), процессор гарантированно не запустится. спасибо большое..но все равно не запускается(( хотя симуляция и компиляция без ошибок. Поколдовав немного, можно четко локализовать где что виснет, а затем покумекать по какой причине. программа простая как 3 копеики, моргания 8 ноги. трудно локализовать что работает, ибо джатага я не имею пока( а без него внутресхемную отладку мне не сделать. имею только юсб, если старт идет с адреса 200000 то загружается внутренний загрузчик и плата определяется системои , как только я прописываю что то в адреса от 100000, то самба показывает что все записалось, и ошибок нет. при эмуляции в iar все шеколадно, программа доходит до бесконечного цикла и выполняет все задержки. но вот все в железе((((ноль! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 2 ноября, 2009 Опубликовано 2 ноября, 2009 · Жалоба Первый вам вопрос - а что вы прописываете с адреса 100000? Вы туда пропишите те самые команды - зажечь led и закрутиться в бесконечном цикле. Если это не будет работать, значит вы туда не передаете управление. И бросьте вы ссылаться на всякие jtag'и. На заре появления микропроцессоров их в помине не было и ничего, отлаживали и без них. А программная эмуляция - она и есть эмуляция. Да, кстати, может свой startup продемонстрируете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 2 ноября, 2009 Опубликовано 2 ноября, 2009 (изменено) · Жалоба Первый вам вопрос - а что вы прописываете с адреса 100000? Вы туда пропишите те самые команды - зажечь led и закрутиться в бесконечном цикле. Если это не будет работать, значит вы туда не передаете управление. И бросьте вы ссылаться на всякие jtag'и. На заре появления микропроцессоров их в помине не было и ничего, отлаживали и без них. А программная эмуляция - она и есть эмуляция. ДА! если я правильно понял то управление передать можно нажатием однои из следующих кнопок : DISABLE BRAWN OUT DIREKTOR DISABLE BRAWN OUT RESET ENABLE BRAWN OUT DIREKTOR ENABLE BRAWN OUT RESET ENABLE FLASH ACSESS ERASE ALL FLASH Ну последений пункт ясен, обнулить. предпоследнии похож на запуск программы из флеш--его я использовал тоже что же за "коричнивые директоры как перевел мне переводчик, мне не ясно.. подскажите плз, при какие обстоятельствах надо задеиствовать эти кнопки ?? startup ээээ...а какое у него расширение?? в книге Редькина не нашел ничего про это.. там указано..для таго что бы перевести МК в выполнение программы из флеш, выберети пункт Bootfrom flash у меня нету одноименнои кнопки(( Изменено 2 ноября, 2009 пользователем alexan300 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 3 ноября, 2009 Опубликовано 3 ноября, 2009 · Жалоба Форумчане!! подскажи те плз!!! спать уже не могу спокоино, как мне "сказать" МК что бы он выполял программу из флеш памяти? и что такое старт ап? где он находится? использую сам ба v2.9 и IAR . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 3 ноября, 2009 Опубликовано 3 ноября, 2009 · Жалоба ДА! если я правильно понял то управление передать можно нажатием однои из следующих кнопок : DISABLE BRAWN OUT DIREKTOR ... Brown Out Detector. Ни одна из упомянутых кнопок управление никуда не передает. в книге Редькина не нашел ничего про это.. там указано..для таго что бы перевести МК в выполнение программы из флеш, выберети пункт Bootfrom flash у меня нету одноименнои кнопки(( Несмотря на убожество книжки, там все же ясно было написано, что речь идет о SAM7X. ...как мне "сказать" МК что бы он выполял программу из флеш памяти? Никак. SAM7S всегда стартует из флеш. Точка. и что такое старт ап? где он находится? Файл, содержащий низкоуровневую инициализацию. Вообще-то должен быть частью проекта. Называтся может *startup*.s* И вообще, у Олимекса же лежит на сайте пример "мигателя светодиодом" под вашу плату, почему бы не взять его за основу? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 3 ноября, 2009 Опубликовано 3 ноября, 2009 (изменено) · Жалоба т.е кнопка открыть доступ флеш памяти мне тоже не нужна? Несмотря на убожество книжки, там все же ясно было написано, что речь идет о SAM7X. а так же SAM7S64 глава 40.2, правда производитель не олимекс и мк у меня не 64 а 256. Никак. SAM7S всегда стартует из флеш. Точка. отлично! Файл, содержащий низкоуровневую инициализацию. Вообще-то должен быть частью проекта. Называтся может *startup*.s* хмм...его то и нету((( зато есть Cstartup_SAM7.pbi,Cstartup_SAM7.r79. пример как раз оттуда)) что бы подключить стартап необходимо include "Cstartup_SAM7.r79" и добавит в проет эту библитэку??) И вообще, у Олимекса же лежит на сайте пример "мигателя светодиодом" под вашу плату, почему бы не взять его за основу? Изменено 3 ноября, 2009 пользователем alexan300 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 3 ноября, 2009 Опубликовано 3 ноября, 2009 · Жалоба хмм...его то и нету((( ... пример как раз оттуда)) Плохо искали - SAM7-P256-blinking-LED\AT91SAM7S-Basic\compil\SrcIAR. Еще в архиве есть готовый бинарник - его заливать пробовали? Работает? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sergeeff 1 3 ноября, 2009 Опубликовано 3 ноября, 2009 · Жалоба Плохо искали - SAM7-P256-blinking-LED\AT91SAM7S-Basic\compil\SrcIAR. Еще в архиве есть готовый бинарник - его заливать пробовали? Работает? Залить готовый бинарник - очень толковая идея, если LED сидит на той же ноге, что и у нашего автора ветки. На этом примере он сможет разобраться в основополагающих моментах - запись программы во флеш и старт программы. Если это заработает, тогда можно будет начать разбираться со своими программными изысками. Cstartup_SAM7.r79 - ассемблерный файл, его в С-программу никак нельзя инклудировать, а только отдельно откомпилировать и линкеру приказать объединить два объектных модуля, причем первым должен быть Cstartup_SAM7 и вторым модуль с main(). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба что то я не понимаю, почему фаил от моеи платы SAM7-H256 находится в каталоге платы SAM7-P256 ? бинарник пробывал заливать..сеичас попробую залить тот что вы мне указали. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба что то я не понимаю, почему фаил от моеи платы SAM7-H256 находится в каталоге платы SAM7-P256 ? Полное название платы нужно было упомянуть в первом же посте. Как догадаться, что у вас H256, если вы ссылаетесь на схему P64? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 (изменено) · Жалоба Подскажите а когда бинарником мк прошиваешь, есть необходимость стартап и библиотеки в один каталог пихать? Или же бин фаилу уже всеравно он необходимую инфу вписал в себя? И еще вопросик. Как стартап прилипить? Через инклуде? Но там все фаилы с h расширением. Напишите образец подалуиста. Ну а как егоив менеджер проекта добавить это я знаю)) Изменено 4 ноября, 2009 пользователем alexan300 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 69 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Подскажите а когда бинарником мк прошиваешь, есть необходимость стартап и библиотеки в один каталог пихать? Или же бин фаилу уже всеравно он необходимую инфу вписал в себя? Нет необходимости. Бинарнику уже ничем не поможешь. И еще вопросик. Как стартап прилипить? Через инклуде? Но там все фаилы с h расширением. А зачем "липить" стартап к C-файлу, а? Он и знать о нем не должен. Стартап средствами линкера кладется в начало памяти. При запуске процессора осуществляет минимальную требуемую инициализацию (тактирование, память, стеки) и передает управление C-части. Даже не знаю, букварь бы какой почитали что ли. Четыре страницы мочало жуем и даже до светодиода не добрались. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
alexan300 0 4 ноября, 2009 Опубликовано 4 ноября, 2009 · Жалоба Даже не знаю, букварь бы какой почитали что ли. Четыре страницы мочало жуем и даже до светодиода не добрались. А в букваре Редькина эта часть вписана в главу относящуюся к джатагу, необходимость этих деиствий с программированием через юсб я не сопоставил) да и там не мнго другая версия iar рассматривется. Линкер говорите. Попробую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться