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

 
 
> IAR EWARM6.3 и NVIC в ATSAM4S16B, Как при отладке смотреть регистры NVIC
Obam
сообщение Nov 14 2014, 12:52
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



При работе с SAM4S16B (ATMEL) пользуюсь IAR EWARM6.3 и ассемблером : в выпадающем списке окна Registers нет регистров, относящихся к NVIC.
Отладка идет с использованием штатного IAR-овского файла iosam4s16b.svd: в нём нет и намёка на NVIC.
Есть подозрение, что в файлике iosam4s.ddf NVIC прописан, только его нет нигде.

Может уважаемое сообщество знает как помочь моей беде? :)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Obam
сообщение Nov 24 2014, 14:05
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 756
Регистрация: 14-11-14
Пользователь №: 83 663



Любезный, как RefMAN на ядро поможет включить отображение регистров NVIC в EWARM при отладке SAM4S16? wink.gif

Вы бы посмотрели у себя в каталоге с IARом: может завалялся файлик iosam4s.ddf?


--------------------
Пролетарий умственного труда.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Nov 26 2014, 06:14
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(Obam @ Nov 24 2014, 20:05) *
Любезный, как RefMAN на ядро поможет включить отображение регистров NVIC в EWARM при отладке SAM4S16? wink.gif

Элементарно:
1.Описываете необходимую периферию. Например так:
CODE
//NVIC (Cortex-M3 Peripheral)
typedef struct {
u32 unuse0[1];
u32 INT_TYPE;
u32 ACTLR;
u32 unuse1[1];
struct {
u32 CTRL;
u32 LOAD;
u32 VAL;
u32 CAL;
} ST;
u32 unuse2[56];
u32 ENA[2];
u32 unuse3[30];
u32 DIS[2];
u32 unuse4[30];
u32 SETPEND[2];
u32 unuse5[30];
u32 CLRPEND[2];
u32 unuse6[30];
u32 ACTIVE[2];
u32 unuse7[62];
u32 PRI[16];
u32 unuse8[560];
u32 CPUID;
u32 INT_CTRL;
u32 VTABLE;
u32 APINT;
u32 SCR; //System Control Register
u32 CCR; //Configuration Control Register
u32 SYSPRI[3]; //System Handler Priority Registers
u32 SHCSR; //System Handler Control and State Register
union {
u32 CFSR; //Configurable Fault Status Register
struct {
u8 MMFSR; //Memory Manage Fault Status Register
u8 BFSR; //Bus Fault Status Register
u16 UFSR; //Usage Fault Status Register
};
};
u32 HFSR; //Hard Fault Status Register
u32 DFSR; //Debug Fault Status Register
u32 MMFAR; //Memory Manage Fault Address Register
u32 BFAR; //Bus Fault Address Register
u32 unuse9[21];
u32 MPU_TYPE;
u32 MPU_CTRL;
u32 MPU_NUMBER;
u32 MPU_BASE;
u32 MPU_ATTR;
u32 unuse10[19];
u32 DBG_CTRL;
u32 DBG_XFER;
u32 DBG_DATA;
u32 DBG_INT;
u32 unuse11[64];
u32 SW_TRIG;
} HwRegsNVIC;


2.Натягиваете её на адресное пространство:
EXTERN volatile __no_init __root __absolute HwRegsNVIC NVIC @ 0xE000E000;

3.В окне Watch IAR-а вводите NVIC.
4Наслаждаетесь результатом. Без всяких ddf.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 31st July 2025 - 14:19
Рейтинг@Mail.ru


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