cancel
Showing results for 
Search instead for 
Did you mean: 

What is RCC_AHB1RSTR register for?

shides2
Associate II
Posted on January 30, 2016 at 10:35

The architectures of Cortex-M4 and Cortex-M7 include RCC_AHB1RSTR register. What is it for? When I use this register for resetting AHB1 bus for any of GPIO ports these ports stop working irrevocably.

Thanks in advance!

#arm-cortex-m4-cortex-m7-register
15 REPLIES 15
Radosław
Senior II
Posted on January 31, 2016 at 18:00

how responce time you expect? 12ticks is predicted and correct.

Meny interrupts per 1 edge it must be some programming error on your site.

Posted on February 01, 2016 at 09:29

> Cortex-M7

Trying to take a hairpin turn with your brand new Ferrari?

These are NOT microcontrollers as the 8-bitters usually are, these are SoC - a complex processor core, stitched together with memories and peripherals with an interconnect fabric. All of these components bring in their limitations through waitstates and resynchronisation elements.Thus, timing is very complex and far from trivial to make it predictible. You should start with the M3/M4 at low clocks where FLASH caching/timing is not an issue, and then progress to M7. There is a LOT of reading and experimenting ahead, and it's quite likely you'll give it up (which I'd recommend you to do right away).

JW

mark239955_stm1
Associate II
Posted on February 01, 2016 at 11:28

What is your nominally synchronous code doing?

If you're using the rising edge as a clock signal, e.g. to read other GPIO, you may be able to get some hardware assistance by using input capture and DMA.

shides2
Associate II
Posted on February 01, 2016 at 17:28

I understand that 32-bits MCUs are different from 8-bits ones in execution of assembler's  instructions directly by ticks. But I need merely to catch the rising input signal with any delay (long delay is ok too). The most important is this delay was always the constant. 

Thanks for replies. 

Posted on February 01, 2016 at 18:00

What do you mean by ''to catch''?

As Mark wrote above, timer input capture might be the feature you are looking for, providing you with a timestamp of an input transition. A DMA transfer can be triggered by the input capture, but the timing there, although much better than with interrupts, may still involve certain challenges.

JW
shides2
Associate II
Posted on February 01, 2016 at 18:47

When I said 'catch' I meant the execution of assembler's insertion through definite time after the rising of signal on GPIO pin. So I have the assembler's insertion in one of my procedures that calls sometimes. The assembler's insertion must be executed in this procedure in definite interim after the rising of signal on GPIO pin. This procedure is hardly ever called and just one time (in this procedure) the rising of signal is tracked ('caught'). 

Thank you for recommendation! I'll try timer input capture.