ST32F105.
При выключении канала3 DMA1 используя побитовую адресацию (адресс 0x42400600) вываливаюсь в прерывание Hard Fault.
#define M25P_DMA_SPITXE (FlagStatus)(*((FlagStatus*) 0x42400600))
M25P_DMA_SPITXE = DISABLE;
При выключении с помощью "DMA1_Channel3->CCR &= 0xFFFFFFFE;" такого не происходит. Уже перепроверил, адрес бита правильный, поэтому вообще не могу понять в чем причина. Подскажите?
А еще я обнаружил, что такой же вылет происходит даже при считывании бита в регистре DMA посредством битовой адрессации. И при этом весь регистр обнуляется, чего вообще не может быть при побитовой адрессации. Кто-нибудь адрессовал побитово регистры DMA? Единственное ограничение, которое я нашел, это то, что DMA не может использовать bit-band. Но ни слова про то, что нельзя так адресовать его регистры.