|
как прошить AT91SAM7S256, на отладочной плате |
|
|
|
Oct 25 2009, 19:44
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Господа помогите!! Отладочную плату подключаю через юсб. Использую IAR. Как прошить контролер? Код #include "сдесь библиотека"
short unsigned int i;
void main (void) { DDRA = 255;-ошибка сдесь PORTA = 0; и сдесь
while(1) { if (PORTA == 255) PORTA = 0; else PORTA++;
for (i=0; i<10000; i++) { } } } на этапе конпиляции возникают ошибки. и как мне откомпелированную программу отправить на контролер через юсб?
Причина редактирования: Оформление цитаты исходника.
|
|
|
|
|
 |
Ответов
(15 - 29)
|
Oct 30 2009, 14:37
|
Частый гость
 
Группа: Участник
Сообщений: 128
Регистрация: 17-03-08
Пользователь №: 35 988

|
Код #include "ioat91sam7s256.h"
AT91S_PIO * pPIO = AT91C_BASE_PIOA; #define OUT_MASK (1UL<<29)
unsigned long tt = 0; int main(void){ AT91C_BASE_PMC->PMC_PCER = (1 << AT91C_ID_PIOA); pPIO->PIO_PER = OUT_MASK; pPIO->PIO_OER = OUT_MASK; pPIO->PIO_SODR = OUT_MASK; pPIO->PIO_CODR = (1UL<<29);
for(;;){ if(tt < 10000000){tt++;}else {tt=0;}
if(tt >5000000){pPIO->PIO_SODR = (1<<29);} else{pPIO->PIO_CODR = (1<<29);} }
return 0; }//end main помогите разобраться... приложил скрин экрана. http://fotki.yandex.ru/users/alexan300/view/133829?page=0если этих фоток мало то могу еще сделать только скажите какие?
|
|
|
|
|
Oct 30 2009, 23:12
|
Профессионал
    
Группа: Свой
Сообщений: 1 481
Регистрация: 10-04-05
Пользователь №: 4 007

|
Скорее всего светодиодик зажигается у вас, когда на на выходе PA29 = "0". Тогда пишем: Код #include "ioat91sam7s256.h"
#define OUT_MASK (1UL<<29)
unsigned long tt = 0;
int main(void) { AT91S_PIO * pPIO = AT91C_BASE_PIOA; pPIO->PIO_PER = OUT_MASK; pPIO->PIO_OER = OUT_MASK; pPIO->PIO_CODR = OUT_MASK; while(1); } Компилируем, запускаем. Если светодиод горит - программа нормально стартанула и отработала, если нет - до main() дело не дошло. Тогда переносим эти 5 строк из main в startup файл, куда-нибудь, хоть бы даже в самое начало. Повторяем - смотрим. Если не горит, вы: 1. Вообще не туда пишите программу. 2. Не обеспечиваете запуск программы. Так постепенно можно понять, что работает, что нет. Когда все заработает в main - можно написать что-нибудь более существенное. Успехов
|
|
|
|
|
Oct 31 2009, 00:01
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(alexan300 @ Oct 31 2009, 02:52)  вроде все прошивает, но МК как выдает на все ноги 1, горит светодиод который я переодически подключаю к земле и разным выходам. Загрузчик стирается? Самба после этого не подключается до следующего восстановления через TST? Цитата(alexan300 @ Oct 31 2009, 02:52)  если же я в самбе пытаюсь прочесть записанное то самба виснит и вылетает...предлагает отправить отчет о ошибке. Прочесть или сравнить? А так - да, софт весьма кривой.
|
|
|
|
|
Oct 31 2009, 00:50
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(alexan300 @ Oct 31 2009, 03:07)  да, после "прошивки" что бы плата определилась в виндах приходится замыкать резет и после этого подключать.после этого снова определяется системои. Reset или TST? Цитата(alexan300 @ Oct 31 2009, 03:07)  нажимаю reseive file и вот..виснит( А кнопочку "Compare sent file with memory" нажать что-то мешает? И еще: таргет выбран правильно, или стоит NO_BOARD? В последнем случае самба будет только делать вид, что работает.
|
|
|
|
|
  |
3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0
|
|
|