|
|
  |
как прошить AT91SAM7S256, на отладочной плате |
|
|
|
Nov 2 2009, 17:29
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Уберите это: Код //Enable RESET m_pRSTC->RSTC_RCR = 0xA5000008; m_pRSTC->RSTC_RMR = 0xA5000001; Вешалка же натуральная - сначала дернули внешний ресет, а затем тут же подключили его как источник собственного. Даже если просто взвести USRTEN, пока не кончился внешний сброс (бит NRSTL регистра RSTC_SR в нуле), процессор гарантированно не запустится.
|
|
|
|
|
Nov 2 2009, 17:55
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Если программа не запускается, надо: 1. Сделать ее максимально простой (минимум текста) 2. Четко локализовать, что работает, что нет.
Я вам привел пример минимальной программы, которая позволяет удостовериться в том, что программа стартовала и дошла до бесконечного цикла (в котором и остается). Вы должны, при этом четко понимать, что до вызова main() выполняется startup модуль, написанный на ассемблере. Соответственно, если не вызывается main() возможны варианты: 1. Не стартует startup модуль вообще. 2. Программа виснет где-то в промежутке до вызова main(). 3. Не происходит передача управления из startup'a в main.
Поколдовав немного, можно четко локализовать где что виснет, а затем покумекать по какой причине.
|
|
|
|
|
Nov 2 2009, 18:04
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Цитата(aaarrr @ Nov 2 2009, 20:29)  Даже если просто взвести USRTEN, пока не кончился внешний сброс (бит NRSTL регистра RSTC_SR в нуле), процессор гарантированно не запустится. спасибо большое..но все равно не запускается(( хотя симуляция и компиляция без ошибок. Цитата(sergeeff @ Nov 2 2009, 20:55)  Поколдовав немного, можно четко локализовать где что виснет, а затем покумекать по какой причине. программа простая как 3 копеики, моргания 8 ноги. трудно локализовать что работает, ибо джатага я не имею пока( а без него внутресхемную отладку мне не сделать. имею только юсб, если старт идет с адреса 200000 то загружается внутренний загрузчик и плата определяется системои , как только я прописываю что то в адреса от 100000, то самба показывает что все записалось, и ошибок нет. при эмуляции в iar все шеколадно, программа доходит до бесконечного цикла и выполняет все задержки. но вот все в железе((((ноль!
Причина редактирования: Нарушение п.3.4 Правил форума.
|
|
|
|
|
Nov 2 2009, 18:40
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Цитата(sergeeff @ Nov 2 2009, 21:31)  Первый вам вопрос - а что вы прописываете с адреса 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 у меня нету одноименнои кнопки((
Сообщение отредактировал alexan300 - Nov 2 2009, 18:57
|
|
|
|
|
Nov 3 2009, 19:49
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(alexan300 @ Nov 2 2009, 21:40)  ДА! если я правильно понял то управление передать можно нажатием однои из следующих кнопок : DISABLE BRAWN OUT DIREKTOR ... Brown Out Detector. Ни одна из упомянутых кнопок управление никуда не передает. Цитата(alexan300 @ Nov 2 2009, 21:40)  в книге Редькина не нашел ничего про это.. там указано..для таго что бы перевести МК в выполнение программы из флеш, выберети пункт Bootfrom flash у меня нету одноименнои кнопки(( Несмотря на убожество книжки, там все же ясно было написано, что речь идет о SAM7 X. Цитата(alexan300 @ Nov 3 2009, 22:37)  ...как мне "сказать" МК что бы он выполял программу из флеш памяти? Никак. SAM7S всегда стартует из флеш. Точка. Цитата(alexan300 @ Nov 3 2009, 22:37)  и что такое старт ап? где он находится? Файл, содержащий низкоуровневую инициализацию. Вообще-то должен быть частью проекта. Называтся может *startup*.s* И вообще, у Олимекса же лежит на сайте пример "мигателя светодиодом" под вашу плату, почему бы не взять его за основу?
|
|
|
|
|
Nov 4 2009, 12:20
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(alexan300 @ Nov 4 2009, 14:43)  Подскажите а когда бинарником мк прошиваешь, есть необходимость стартап и библиотеки в один каталог пихать? Или же бин фаилу уже всеравно он необходимую инфу вписал в себя? Нет необходимости. Бинарнику уже ничем не поможешь. Цитата(alexan300 @ Nov 4 2009, 14:43)  И еще вопросик. Как стартап прилипить? Через инклуде? Но там все фаилы с h расширением. А зачем "липить" стартап к C-файлу, а? Он и знать о нем не должен. Стартап средствами линкера кладется в начало памяти. При запуске процессора осуществляет минимальную требуемую инициализацию (тактирование, память, стеки) и передает управление C-части. Даже не знаю, букварь бы какой почитали что ли. Четыре страницы мочало жуем и даже до светодиода не добрались.
|
|
|
|
|
Nov 4 2009, 12:33
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Цитата(aaarrr @ Nov 4 2009, 15:20)  Даже не знаю, букварь бы какой почитали что ли. Четыре страницы мочало жуем и даже до светодиода не добрались. А в букваре Редькина эта часть вписана в главу относящуюся к джатагу, необходимость этих деиствий с программированием через юсб я не сопоставил) да и там не мнго другая версия iar рассматривется. Линкер говорите. Попробую.
Причина редактирования: Нарушение п.3.4 Правил форума.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|