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

 
 
> как прошить AT91SAM7S256, на отладочной плате
alexan300
сообщение Oct 25 2009, 19:44
Сообщение #1


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

Группа: Участник
Сообщений: 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++)
    {
    }
  }
}

на этапе конпиляции возникают ошибки.

и как мне откомпелированную программу отправить на контролер через юсб?
Причина редактирования: Оформление цитаты исходника.
Go to the top of the page
 
+Quote Post
9 страниц V  < 1 2 3 4 > »   
Start new topic
Ответов (15 - 29)
alexan300
сообщение Oct 29 2009, 19:40
Сообщение #16


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

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



Ну так как знатоки МК..подскажите начинающему как пользоваться вышеназванными штуками?
Программа в IAR ошибок не показала, SAMBA тоже смолчал...но при попытки сохранить фаил на мк вся система виснет..((
Go to the top of the page
 
+Quote Post
alexan300
сообщение Oct 29 2009, 20:47
Сообщение #17


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

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



УРА увожаемые! нашел!
вот ссылка на книгу Редькина!!
может кому тоже пригодится..то что искал весь алгоритм записан!! (бесплатно)

http://obuk.ru/programming/29678-3216-bitn...llery-arm7.html
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 29 2009, 21:14
Сообщение #18


Гуру
******

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



Ну, теперь точно не пропадете, хе-хе.
Go to the top of the page
 
+Quote Post
alexan300
сообщение Oct 29 2009, 21:45
Сообщение #19


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

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



а один фиг..виснит при попытке прочесть записанный фаил (
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 29 2009, 21:51
Сообщение #20


Гуру
******

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



Вы лучше напишите по пунктам, что делаете, и где виснет, а то понять что-либо трудно.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Oct 29 2009, 22:26
Сообщение #21


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

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



Не, уважаемый aаarrr.

Товарищ пока даже не понимает, как вкл/выкл светодиоду сделать. Как же он тогда сможет понять (а тем паче запрограммировать и отладить), где и что у него виснет?
И, думаю, что startup-файл для него пока вещь из области непознанного со всеми вытекающими последствиями.
Go to the top of the page
 
+Quote Post
alexan300
сообщение Oct 30 2009, 14:37
Сообщение #22


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

Группа: Участник
Сообщений: 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
если этих фоток мало то могу еще сделать только скажите какие?
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 30 2009, 15:57
Сообщение #23


Гуру
******

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



Нет, так не пойдет. Словами напишите, что не получается.
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Oct 30 2009, 23:12
Сообщение #24


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

Группа: Свой
Сообщений: 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 - можно написать что-нибудь более существенное.

Успехов
Go to the top of the page
 
+Quote Post
alexan300
сообщение Oct 30 2009, 23:52
Сообщение #25


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

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



Делаю я так.
в IAR выставляю расшерение выходного фаила bin.
затем после компиляции запускаю симуляцию, все ок. все зелененькое.
в самбе выбираю bin фаил , затем send, все по вышеназваннои книге.
вроде все прошивает, но МК как выдает на все ноги 1, горит светодиод который я переодически подключаю к земле и разным выходам. если же я в самбе пытаюсь прочесть записанное то самба виснит и вылетает...предлагает отправить отчет о ошибке.
сеичас попробую внести изменения, как предложил sergeeff.
спасибо за помощь.
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 31 2009, 00:01
Сообщение #26


Гуру
******

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



Цитата(alexan300 @ Oct 31 2009, 02:52) *
вроде все прошивает, но МК как выдает на все ноги 1, горит светодиод который я переодически подключаю к земле и разным выходам.

Загрузчик стирается? Самба после этого не подключается до следующего восстановления через TST?

Цитата(alexan300 @ Oct 31 2009, 02:52) *
если же я в самбе пытаюсь прочесть записанное то самба виснит и вылетает...предлагает отправить отчет о ошибке.

Прочесть или сравнить? А так - да, софт весьма кривой.
Go to the top of the page
 
+Quote Post
alexan300
сообщение Oct 31 2009, 00:07
Сообщение #27


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

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



да, после "прошивки" что бы плата определилась в виндах приходится замыкать резет и после этого подключать.после этого снова определяется системои.
нажимаю reseive file и вот..виснит(
а как мне проверить выпонение загруженного фаила? надоли замкнуть чтонить на платке или же напротив?
Go to the top of the page
 
+Quote Post
sergeeff
сообщение Oct 31 2009, 00:16
Сообщение #28


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

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



Любой приличный загрузчик должен позволить:
1. Загрузить программу в нужную память с нужного адреса.
2. Позволить убедится в том, что это правильно произошло (возможны варианты, каким образом).
3. Передать управление прикладной (загруженной) программе.

Вы можете твердо быть уверены, что этими тремя моментами в полной мере овладели? Похоже, что нет.
Go to the top of the page
 
+Quote Post
alexan300
сообщение Oct 31 2009, 00:21
Сообщение #29


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

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



ага! в reseive file надо создать фаил, а наполнится он с мк??
я правильно понял?
фаил создал, ничего не зависло, но он отличается от загруженого фаила в разы по размеру..
так и должно быть?
3. Передать управление прикладной (загруженной) программе.
вот этот пунктик не понял..проясните плз.
что нужно в самбе выставить7
Go to the top of the page
 
+Quote Post
aaarrr
сообщение Oct 31 2009, 00:50
Сообщение #30


Гуру
******

Группа: Свой
Сообщений: 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? В последнем случае самба будет только делать вид, что работает.
Go to the top of the page
 
+Quote Post

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

 


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


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