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

 
 
> IAR v6.5 выкл JTAG
pokk
сообщение Mar 12 2018, 02:24
Сообщение #1


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

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



Добрый день, понадобилось использовать вывод JTDO сделал так(в принципе все работает)
Код
#define AFIO_MAPR_SWJ_CFG_JTAGDISABLE        ((uint32_t)0x02000000)        /*!< JTAG-DP Disabled and SW-DP Enabled */

    RCC->APB2ENR |=RCC_APB2Periph_AFIO;
    AFIO->MAPR   |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; // 25 бит все как по даташиту JTAG-DP Disabled and SW-DP Enabled

сделал так смотрю в отладке IAR а он мне пишет что регист AFIO->MAPR=0x04000000 (26 бит)
это такой глюк IAR ?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
amiller
сообщение Mar 12 2018, 13:35
Сообщение #2


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

Группа: Участник
Сообщений: 176
Регистрация: 20-02-14
Из: Томск
Пользователь №: 80 612



Да уж. Сейчас обратил внимание, что эти 3 бита действительно write-only у всех, начиная с 100 и заканчивая 107.
Это означает, что любое изменение этого регистра "стандартным" способом:
CODE

48 AFIO_MAPR_bit.SPI1_REMAP = 1; // SPI1 remaped !!!
\ 00000032 0x.... 0x.... LDR.W R0,??DataTable4_2 ;; 0x40010004
\ 00000036 0x6800 LDR R0,[R0, #+0]
\ 00000038 0xF050 0x0001 ORRS R0,R0,#0x1
\ 0000003C 0x.... 0x.... LDR.W R1,??DataTable4_2 ;; 0x40010004
\ 00000040 0x6008 STR R0,[R1, #+0]

Может приводить к непредсказуемым значениям бит SWJ_CFG.
Странно, что на практике это пока не приводило к проблемам.
Если инициализация периферии статическая, то целесообразно в конце принудительно писать нужное значение в SWJ_CFG даже в том случае, если remap jtag не используется.
Ну и становится понятно, почему в отладке эти биты могут читаться как попало.
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 07:05
Рейтинг@Mail.ru


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