реклама на сайте
подробности

 
 
9 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> как прошить AT91SAM7S256, на отладочной плате
aaarrr
сообщение Nov 2 2009, 17:29
Сообщение #46


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Уберите это:
Код
//Enable RESET
  m_pRSTC->RSTC_RCR = 0xA5000008;
  m_pRSTC->RSTC_RMR = 0xA5000001;


Вешалка же натуральная - сначала дернули внешний ресет, а затем тут же подключили его как источник собственного.
Даже если просто взвести USRTEN, пока не кончился внешний сброс (бит NRSTL регистра RSTC_SR в нуле), процессор гарантированно не запустится.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 2 2009, 17:55
Сообщение #47


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Если программа не запускается, надо:
1. Сделать ее максимально простой (минимум текста)
2. Четко локализовать, что работает, что нет.

Я вам привел пример минимальной программы, которая позволяет удостовериться в том, что программа стартовала и дошла до бесконечного цикла (в котором и остается). Вы должны, при этом четко понимать, что до вызова main() выполняется startup модуль, написанный на ассемблере. Соответственно, если не вызывается main() возможны варианты:
1. Не стартует startup модуль вообще.
2. Программа виснет где-то в промежутке до вызова main().
3. Не происходит передача управления из startup'a в main.

Поколдовав немного, можно четко локализовать где что виснет, а затем покумекать по какой причине.
Go to the top of the page
 
+Quote Post
alexan300
сообщение Nov 2 2009, 18:04
Сообщение #48


Частый гость
**

Группа: Участник
Сообщений: 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 Правил форума.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 2 2009, 18:31
Сообщение #49


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Первый вам вопрос - а что вы прописываете с адреса 100000? Вы туда пропишите те самые команды - зажечь led и закрутиться в бесконечном цикле. Если это не будет работать, значит вы туда не передаете управление. И бросьте вы ссылаться на всякие jtag'и. На заре появления микропроцессоров их в помине не было и ничего, отлаживали и без них. А программная эмуляция - она и есть эмуляция.

Да, кстати, может свой startup продемонстрируете?
Go to the top of the page
 
+Quote Post
alexan300
сообщение Nov 2 2009, 18:40
Сообщение #50


Частый гость
**

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
alexan300
сообщение Nov 3 2009, 19:37
Сообщение #51


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988



Форумчане!! подскажи те плз!!! спать уже не могу спокоино, как мне "сказать" МК что бы он выполял программу из флеш памяти? и что такое старт ап? где он находится? использую сам ба v2.9 и IAR .
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 3 2009, 19:49
Сообщение #52


Гуру
******

Группа: Свой
Сообщений: 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 у меня нету одноименнои кнопки((

Несмотря на убожество книжки, там все же ясно было написано, что речь идет о SAM7X.

Цитата(alexan300 @ Nov 3 2009, 22:37) *
...как мне "сказать" МК что бы он выполял программу из флеш памяти?

Никак. SAM7S всегда стартует из флеш. Точка.

Цитата(alexan300 @ Nov 3 2009, 22:37) *
и что такое старт ап? где он находится?

Файл, содержащий низкоуровневую инициализацию. Вообще-то должен быть частью проекта. Называтся может *startup*.s*


И вообще, у Олимекса же лежит на сайте пример "мигателя светодиодом" под вашу плату, почему бы не взять его за основу?
Go to the top of the page
 
+Quote Post
alexan300
сообщение Nov 3 2009, 20:18
Сообщение #53


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988



т.е кнопка открыть доступ флеш памяти мне тоже не нужна?

Несмотря на убожество книжки, там все же ясно было написано, что речь идет о SAM7X.

а так же SAM7S64 глава 40.2, правда производитель не олимекс и мк у меня не 64 а 256.

Никак. SAM7S всегда стартует из флеш. Точка.

отлично!
Файл, содержащий низкоуровневую инициализацию. Вообще-то должен быть частью проекта. Называтся может *startup*.s*

хмм...его то и нету(((
зато есть Cstartup_SAM7.pbi,Cstartup_SAM7.r79.
пример как раз оттуда))
что бы подключить стартап необходимо include "Cstartup_SAM7.r79" и добавит в проет эту библитэку??)

И вообще, у Олимекса же лежит на сайте пример "мигателя светодиодом" под вашу плату, почему бы не взять его за основу?[/quote]

Сообщение отредактировал alexan300 - Nov 3 2009, 20:20
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 3 2009, 21:21
Сообщение #54


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(alexan300 @ Nov 3 2009, 23:18) *
хмм...его то и нету(((
...
пример как раз оттуда))

Плохо искали - SAM7-P256-blinking-LED\AT91SAM7S-Basic\compil\SrcIAR.
Еще в архиве есть готовый бинарник - его заливать пробовали? Работает?
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Nov 3 2009, 21:58
Сообщение #55


Профессионал
*****

Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007



Цитата(aaarrr @ Nov 4 2009, 00:21) *
Плохо искали - SAM7-P256-blinking-LED\AT91SAM7S-Basic\compil\SrcIAR.
Еще в архиве есть готовый бинарник - его заливать пробовали? Работает?


Залить готовый бинарник - очень толковая идея, если LED сидит на той же ноге, что и у нашего автора ветки. На этом примере он сможет разобраться в основополагающих моментах - запись программы во флеш и старт программы. Если это заработает, тогда можно будет начать разбираться со своими программными изысками.

Cstartup_SAM7.r79 - ассемблерный файл, его в С-программу никак нельзя инклудировать, а только отдельно откомпилировать и линкеру приказать объединить два объектных модуля, причем первым должен быть Cstartup_SAM7 и вторым модуль с main().
Go to the top of the page
 
+Quote Post
alexan300
сообщение Nov 4 2009, 09:09
Сообщение #56


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988



что то я не понимаю, почему фаил от моеи платы SAM7-H256 находится в каталоге платы SAM7-P256 ?
бинарник пробывал заливать..сеичас попробую залить тот что вы мне указали.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 4 2009, 09:45
Сообщение #57


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(alexan300 @ Nov 4 2009, 12:09) *
что то я не понимаю, почему фаил от моеи платы SAM7-H256 находится в каталоге платы SAM7-P256 ?

Полное название платы нужно было упомянуть в первом же посте. Как догадаться, что у вас H256, если вы ссылаетесь на схему P64?
Go to the top of the page
 
+Quote Post
alexan300
сообщение Nov 4 2009, 11:43
Сообщение #58


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988



Подскажите а когда бинарником мк прошиваешь, есть необходимость стартап и библиотеки в один каталог пихать? Или же бин фаилу уже всеравно он необходимую инфу вписал в себя?
И еще вопросик. Как стартап прилипить? Через инклуде? Но там все фаилы с h расширением. Напишите образец подалуиста. Ну а как егоив менеджер проекта добавить это я знаю))

Сообщение отредактировал alexan300 - Nov 4 2009, 11:47
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Nov 4 2009, 12:20
Сообщение #59


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(alexan300 @ Nov 4 2009, 14:43) *
Подскажите а когда бинарником мк прошиваешь, есть необходимость стартап и библиотеки в один каталог пихать? Или же бин фаилу уже всеравно он необходимую инфу вписал в себя?

Нет необходимости. Бинарнику уже ничем не поможешь.

Цитата(alexan300 @ Nov 4 2009, 14:43) *
И еще вопросик. Как стартап прилипить? Через инклуде? Но там все фаилы с h расширением.

А зачем "липить" стартап к C-файлу, а? Он и знать о нем не должен.
Стартап средствами линкера кладется в начало памяти. При запуске процессора осуществляет минимальную требуемую инициализацию (тактирование, память, стеки) и передает управление C-части.


Даже не знаю, букварь бы какой почитали что ли. Четыре страницы мочало жуем и даже до светодиода не добрались.
Go to the top of the page
 
+Quote Post
alexan300
сообщение Nov 4 2009, 12:33
Сообщение #60


Частый гость
**

Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988



Цитата(aaarrr @ Nov 4 2009, 15:20) *
Даже не знаю, букварь бы какой почитали что ли. Четыре страницы мочало жуем и даже до светодиода не добрались.

А в букваре Редькина эта часть вписана в главу относящуюся к джатагу, необходимость этих деиствий с программированием через юсб я не сопоставил) да и там не мнго другая версия iar рассматривется. Линкер говорите. Попробую.
Причина редактирования: Нарушение п.3.4 Правил форума.
Go to the top of the page
 
+Quote Post

9 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 06:00
Рейтинг@Mail.ru


Страница сгенерированна за 0.01514 секунд с 7
ELECTRONIX ©2004-2016