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

 
 
> SAM7Sxx flash write, помог бы кто исходником
nameless
сообщение Mar 1 2006, 10:50
Сообщение #1


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

Группа: Свой
Сообщений: 174
Регистрация: 9-07-04
Пользователь №: 305



Да где же там этот INTERNAL LATCH BUFFER ???
И какой он длины... вот бы рабочий примерчик....
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
klesin
сообщение Mar 12 2006, 12:19
Сообщение #2





Группа: Новичок
Сообщений: 10
Регистрация: 5-09-05
Из: Рязань
Пользователь №: 8 233



Сравнивал свой текст с тем что был предложен. Все сходится. Единственное отличие в отключении прерываний (ну не знаю я как написать процедуру на asm в MULTI, а IARом не хочу пользоваться). Вместо AT91F_disable_interrupt() я просто сбрасывал биты разрешения IRQ и FIQ на С. Скорее всего в этом и есть проблема.


--------------------
Можно дать совет, но нельзя дать разума им воспользоваться.
Go to the top of the page
 
+Quote Post
sapID
сообщение Mar 13 2006, 04:35
Сообщение #3


Участник
*

Группа: Свой
Сообщений: 24
Регистрация: 21-10-04
Из: Пермь, РФ
Пользователь №: 934



Цитата(klesin @ Mar 12 2006, 17:19) *
Сравнивал свой текст с тем что был предложен. Все сходится. Единственное отличие в отключении прерываний (ну не знаю я как написать процедуру на asm в MULTI, а IARом не хочу пользоваться). Вместо AT91F_disable_interrupt() я просто сбрасывал биты разрешения IRQ и FIQ на С. Скорее всего в этом и есть проблема.


AT91F_enable_interrupt и AT91F_disable_interrupt написаны на ассемблере в файле *.s
В С они подключаются через extern

extern void AT91F_enable_interrupt(void);
extern void AT91F_disable_interrupt(void);



#define IRQ_MASK 0x00000080
#define FIQ_MASK 0x00000040
#define INTs_MASK (IRQ_MASK | FIQ_MASK)

;---------------------------------------------------
; \fn extern void AT91F_enable_interrupt(void)
; \brief Enable Core interrupt
;---------------------------------------------------

PUBLIC AT91F_enable_interrupt
CODE32 ; Always ARM mode after exeption
AT91F_enable_interrupt
mrs r0, CPSR
bic r0, r0, #INTs_MASK
msr CPSR_c, r0
bx lr

;---------------------------------------------------
; \fn extern void AT91F_disable_interrupt(void)
; \brief Disable Core interrupt
;---------------------------------------------------

PUBLIC AT91F_disable_interrupt
CODE32 ; Always ARM mode after exeption
AT91F_disable_interrupt
mrs r0, CPSR
orr r0, r0, #INTs_MASK
msr CPSR_c, r0
mrs r0, CPSR
ands r0, r0, #INTs_MASK
beq AT91F_disable_interrupt
bx lr

Сообщение отредактировал sapID - Mar 13 2006, 04:36
Go to the top of the page
 
+Quote Post



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

 


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


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