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

 
 
> At91sam7s256 и чайник, помогите разобраться
D1ma
сообщение Aug 26 2009, 10:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 8-11-07
Пользователь №: 32 165



Помогите чайнику.

Здравствуйте.
Помогите запустить простенькую прогу на AT91sam7s256
Делаю первые шаги с АРМом, не судите сильно.
Пишу на ИАР 5.3,есть jetlink5
Код
#include <atmel\ioat91sam7s256.h>
//инициализация основных узлов системы
void CPUinit()
  {
  //нициализация EFC (Flash-памяти)
  AT91C_BASE_MC->MC_FMR = AT91C_MC_FWS_1FWS; // 2 цикла на чтение, 3 цикла на запись
  //настройка тактовых частот
  //включение и задание времени запуска основного генератора
  AT91C_BASE_PMC->PMC_MOR = (( AT91C_CKGR_OSCOUNT & (0x40 <<8) | AT91C_CKGR_MOSCEN ));
  // ожидание стабилизации частоты основного генератора
  while(!(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MOSCS));
  
  //задание  частоты PLL  96,109 МГц и такт частоты UDP 48,058 МГц
  AT91C_BASE_PMC->PMC_PLLR =    (AT91C_CKGR_MUL & (72 << 16)) |
                                (AT91C_CKGR_DIV & 14);;
  //ожидание стабилизации PLL
  while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_LOCK) );
    // ожидание стабилизации задающей частоты от PLL
  while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );
  
  //задание задающей частоты и частоты процессора PLL/2=48 МГц
  //регистр PMC_MCKR не должен програмироваться одной операцией записи
  AT91C_BASE_PMC->PMC_MCKR = AT91C_PMC_PRES_CLK_2;
  // ожидание стабилизации задающей частоты
  while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );
  //выбор основного источника тактового сигнала PLL
  AT91C_BASE_PMC->PMC_MCKR |= AT91C_PMC_CSS_PLL_CLK;
  // ожидание стабилизации задающей частоты
  while( !(AT91C_BASE_PMC->PMC_SR & AT91C_PMC_MCKRDY) );
  // отключение сторожевого таймера
  AT91C_BASE_WDTC->WDTC_WDMR = AT91C_WDTC_WDDIS;
  
  // разрешение тактирования PIO
  AT91C_BASE_PMC->PMC_PCER|=(1 << AT91C_ID_PIOA);
  
  }
int main()
{
  CPUinit();
  AT91C_BASE_PIOA->PIO_PER=0xFFFFFFFF;
  AT91C_BASE_PIOA->PIO_OER=0xFFFFFFFF;
  AT91C_BASE_PIOA->PIO_CODR=0xFFFF0000;
  AT91C_BASE_PIOA->PIO_CODR=0x0000FFFF;
  
  return 0;
}

Проблема в том, что я не могу поставить точку останова, допустим на первой строчке.
И прога не работает, не устанавлеваются уровни на линиях выводов.
Что нетак делаю?

Сообщение отредактировал D1ma - Aug 26 2009, 10:44
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Aug 26 2009, 10:58
Сообщение #2


Гуру
******

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



Цитата(D1ma @ Aug 26 2009, 14:43) *
И прога не работает, не устанавлеваются уровни на линиях выводов.

Т.е. нули на всех выводах не устанавливаются?
Go to the top of the page
 
+Quote Post
D1ma
сообщение Aug 26 2009, 11:53
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 8-11-07
Пользователь №: 32 165



Цитата(aaarrr @ Aug 26 2009, 14:58) *
Т.е. нули на всех выводах не устанавливаются?

да неустанавливаются.
Go to the top of the page
 
+Quote Post
D1ma
сообщение Aug 26 2009, 12:32
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 8-11-07
Пользователь №: 32 165



while(1); - тоже пробывал
IAR при дебаге пишет:
Код
Wed Aug 26 14:51:09 2009: DLL version: V4.3o, compiled Feb 23 2009 18:04:20
Wed Aug 26 14:51:09 2009: Firmware: J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5
Wed Aug 26 14:51:09 2009: JTAG speed is initially set to: 32 kHz
Wed Aug 26 14:51:09 2009: Initial reset was performed
Wed Aug 26 14:51:09 2009: TotalIRLen = 4, IRPrint = 0x01
Wed Aug 26 14:51:09 2009: J-Link found 1 JTAG device(s). ARM core Id: 3F0F0F0F ARM7
Wed Aug 26 14:51:09 2009: Device at TAP0 selected
Wed Aug 26 14:51:09 2009: JLINK command: ProjectFile = D:\PRUBORU\ARM ZAHUST\settings\DefenceOfGenerator_Debug.jlink, return = 0
Wed Aug 26 14:51:09 2009: JLINK command: device = AT91SAM7S256, return = 0
Wed Aug 26 14:51:09 2009: TotalIRLen = 4, IRPrint = 0x01
Wed Aug 26 14:51:09 2009: RTCK is not connected
Wed Aug 26 14:51:09 2009: Auto JTAG speed: 8000 kHz
Wed Aug 26 14:51:09 2009: 748 bytes downloaded (1.37 Kbytes/sec)
Wed Aug 26 14:51:09 2009: Loaded debugee: D:\PRUBORU\ARM ZAHUST\Debug\Exe\DefenceOfGenerator.out
Wed Aug 26 14:51:09 2009: Target reset
Wed Aug 26 14:51:10 2009: Failed to set breakpoint at 0x00000174
Wed Aug 26 14:51:10 2009: Failed to set breakpoint at 0x00000174
Wed Aug 26 14:51:59 2009: Failed to set breakpoint at 0x00000174
Wed Aug 26 14:51:59 2009: Performance warning: Lack of breakpoints forces single-stepping.

и при загрузки кидает сообщения прикрепил файл

если делаеш break то иар пишет
Код
Wed Aug 26 15:06:40 2009: DLL version: V4.3o, compiled Feb 23 2009 18:04:20
Wed Aug 26 15:06:40 2009: Firmware: J-Link compiled Jul 30 2008 11:24:37 ARM Rev.5
Wed Aug 26 15:06:40 2009: JTAG speed is initially set to: 32 kHz
Wed Aug 26 15:06:40 2009: Initial reset was performed
Wed Aug 26 15:06:40 2009: TotalIRLen = 4, IRPrint = 0x01
Wed Aug 26 15:06:40 2009: J-Link found 1 JTAG device(s). ARM core Id: 3F0F0F0F ARM7
Wed Aug 26 15:06:40 2009: Device at TAP0 selected
Wed Aug 26 15:06:40 2009: JLINK command: ProjectFile = D:\PRUBORU\ARM ZAHUST\settings\DefenceOfGenerator_Debug.jlink, return = 0
Wed Aug 26 15:06:40 2009: JLINK command: device = AT91SAM7S256, return = 0
Wed Aug 26 15:06:40 2009: TotalIRLen = 4, IRPrint = 0x01
Wed Aug 26 15:06:40 2009: RTCK is not connected
Wed Aug 26 15:06:40 2009: Auto JTAG speed: 8000 kHz
Wed Aug 26 15:06:41 2009: 748 bytes downloaded (1.51 Kbytes/sec)
Wed Aug 26 15:06:41 2009: Loaded debugee: D:\PRUBORU\ARM ZAHUST\Debug\Exe\DefenceOfGenerator.out
Wed Aug 26 15:06:41 2009: Target reset
Wed Aug 26 15:06:46 2009: Failed to read one or more register values (busy).
Wed Aug 26 15:06:51 2009: The stack 'CSTACK' is filled to 100% (8192 bytes used out of 8192). The warning threshold is set to 90.%
Wed Aug 26 15:06:51 2009: The stack 'IRQ_STACK' is filled to 100% (256 bytes used out of 256). The warning threshold is set to 90.%
Wed Aug 26 15:06:51 2009: The stack 'FIQ_STACK' is filled to 100% (256 bytes used out of 256). The warning threshold is set to 90.%

и делаеш пошагого дебаг. код крутится в одной строчкке:
0010004C EAFFFFFE B 0x10004C
Код
  00100040  EAFFFFFE  B            0x100040
  00100044  EAFFFFFE  B            0x100044
  00100048  EAFFFFFE  B            0x100048
  [b]0010004C  EAFFFFFE  B            0x10004C[/b]
  00100050  EAFFFFFE  B            0x100050
  00100054  EAFFFFFE  B            0x100054
  00100058  E59F00C0  LDR          R0, [PC, #+192]        ; [0x100120] =RSTC_RCR (0xFFFFFD00)
  0010005C  E59F10C0  LDR          R1, [PC, #+192]        ; [0x100124] =0xA5000401
  00100060  E5801008  STR          R1, [R0, #+8]
  00100064  E3E000FF  MVN          R0, #0xFF
  00100068  E59F10B8  LDR          R1, [PC, #+184]        ; [0x100128] =0x320100
  0010006C  E5801060  STR          R1, [R0, #+96]
  00100070  E59F00B4  LDR          R0, [PC, #+180]        ; [0x10012C] =WDTC_WDCR (0xFFFFFD40)
  00100074  E3A01902  MOV          R1, #0x8000
  00100078  E5801004  STR          R1, [R0, #+4]
  0010007C  E59F00AC  LDR          R0, [PC, #+172]        ; [0x100130] =PMC_SCER (0xFFFFFC00)
  00100080  E59F10AC  LDR          R1, [PC, #+172]        ; [0x100134] =0x601
  00100084  E5801020  STR          R1, [R0, #+32]
  00100088  E5902068  LDR          R2, [R0, #+104]
  0010008C  E2122001  ANDS         R2, R2, #0x1


может дайте свой пример который все порты поставит в 0

Сообщение отредактировал D1ma - Aug 26 2009, 12:13
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
KAlex
сообщение Aug 26 2009, 12:33
Сообщение #5


Местный
***

Группа: Свой
Сообщений: 387
Регистрация: 20-12-06
Из: Obninsk
Пользователь №: 23 719



Стартап? Ремапинг?
Рекомендую загрузить какой нибудь пример и разобраться с ним.

А куда еще он прыгнет
0010004C EAFFFFFE B 0x10004C -> Label: goto Label
Go to the top of the page
 
+Quote Post
D1ma
сообщение Aug 26 2009, 12:43
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 42
Регистрация: 8-11-07
Пользователь №: 32 165



Цитата(KAlex @ Aug 26 2009, 16:33) *
Стартап? Ремапинг?
Рекомендую загрузить какой нибудь пример и разобраться с ним.

А куда еще он прыгнет
0010004C EAFFFFFE B 0x10004C -> Label: goto Label

а конкретней про стартап и ремап можно?
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


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


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