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

 
 
 
Reply to this topicStart new topic
> 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
amiller
сообщение Mar 12 2018, 03:26
Сообщение #2


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

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



Цитата(pokk @ Mar 12 2018, 06:24) *
Добрый день, понадобилось использовать вывод 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 ?

Возможно CMSIS умничает с переопределением дефайнов.
В этом регистре к JTAG относится 3 бита. 24,25 - частичный ремап, 26 бит - полный ремап.
Попробуйте ручками в регистр записать то, что надо.
А потом уже разбирайтесь с кодом, что же там реально пишется в регистр. В ассемблере посмотреть вовсе несложно.
Go to the top of the page
 
+Quote Post
pokk
сообщение Mar 12 2018, 04:53
Сообщение #3


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

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



Глянул ассемблер все правильно 25 бит записывается.
Код
//   31     AFIO->MAPR   |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; // JTAG-DP Disabled and SW-DP Enabled
        LDR.N    R0,??Init_power_0+0x4 ;; 0x40010004
        LDR      R0,[R0, #+0]
        ORRS     R0,R0,#0x2000000
        LDR.N    R1,??Init_power_0+0x4 ;; 0x40010004
        STR      R0,[R1, #+0]

Самое интересное что если бы устанавливался бит 26, то отладка бы отваливалась, но такого не происходит(хотя как-то 1 раз было)

Сообщение отредактировал pokk - Mar 12 2018, 04:54
Go to the top of the page
 
+Quote Post
SSerge
сообщение Mar 12 2018, 10:52
Сообщение #4


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

Группа: Свой
Сообщений: 1 719
Регистрация: 13-09-05
Из: Novosibirsk
Пользователь №: 8 528



Контроллер, то наверное F103? У него три бита в этом регистре write-only
https://electronix.ru/forum/index.php?showtopic=113881


--------------------
Russia est omnis divisa in partes octo.
Go to the top of the page
 
+Quote Post
amiller
сообщение Mar 12 2018, 13:35
Сообщение #5


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

Группа: Участник
Сообщений: 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 Текстовая версия Сейчас: 13th July 2025 - 23:41
Рейтинг@Mail.ru


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