stm32f7

YCbCr Video Input STM32F746

爷,独闯天下 提交于 2020-05-23 11:43:22
问题 I am working on STM32F746 based custom board which is integrated with LCD and a ADV7180 video decoder IC. I Configured the ADV7180 to run in the free run mode. Getting the Camera data using DCMI to a specified buffer. I am trying to Convert the YCbCr 4:2:2 data to the RBG data. I am getting the Line Events. . From the Live events I am executing the below piece of code to convert it to the RGB and then load the it to the LCD using ARGB888. LCD_FRAME_BUFFER 0xC0000000 LCD_FRAME_BUFFER_LAYER1

How can I change the start address on flash?

只愿长相守 提交于 2020-05-15 03:59:06
问题 I'm using STM32F746ZG and FreeRTOS. The start address of flash is 0x08000000. But I want to change it to 0x08040000. I've searched this issue through google but I didn't find the solution. I changed the linker script like the following. MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 320K /* FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 1024K */ FLASH (rx) : ORIGIN = 0x8040000, LENGTH = 768K } If I only change it and run the debugger, it has the problem. If I change the VECT_TAB_OFFSET from

Setting dual bank mode on STM32f779ii

有些话、适合烂在心里 提交于 2020-01-25 08:05:27
问题 I'm trying to set dual bank mode for STM32F779II, but it doesn't set at all. So I tried in the main before doing anything the following code HAL_FLASH_Unlock(); HAL_FLASH_OB_Unlock(); FLASH->OPTCR |= FLASH_OPTCR_nDBANK_Msk; HAL_FLASH_OB_Lock(); HAL_FLASH_Lock(); And When I tried to check if the memory is in Single or Dual Mode: if((OBInit.USERConfig & OB_NDBANK_SINGLE_BANK) == OB_NDBANK_DUAL_BANK){ printf("Dual bank mode is set"); } but that statement is never set true. 回答1: The process is

STM32 internal clocks

孤者浪人 提交于 2020-01-23 05:41:05
问题 I am confused with the clock system on my STM32F7 device (Cortex-M7 microcontroller from STMicroelectronics). The reference manual does not clarify the differences between these clocks sufficiently: SYSCLK HCLK FCLK The reference manual reads in chapter << 5.2 Clocks >> "The RCC feeds the external clock of the Cortex System Timer (SysTick) with the AHB clock (HCLK) divided by 8." This statement contradicts the figure from CubeMX. Notice that in CubeMX I can choose myself the prescaler from

Uart dma receive interrupt stops receiving data after several minutes

删除回忆录丶 提交于 2019-12-14 03:16:10
问题 I have a project that I have used stm32f746g discovery board. It receives data with fixed size from Uart sequentially and to inform application about each data receive completed, dma callback is used (HAL_UART_RxCpltCallback function). It works fine at the beginning but after several minutes of running, the dma callback stops to be called, and as a result, the specified parameter value doesn't get updated. Because the parameter is used in another thread too (actually a rtos defined timer), I

implementing LWIP multicast on STM32F7 + FreeRTOS?

无人久伴 提交于 2019-12-12 17:15:17
问题 I have a client/server LWIP program that works correctly with unicast communication however I want to use multicast features so I used IGMP library did the following: 1- in lwipopts.h: #define LWIP_IGMP 1 //allowed IGMP 2- in ethernetif.c: netif->flags |= NETIF_FLAG_IGMP; //in low_level_init function 3-in my source file (for both client and server projects): implemented the following code: void recCallBack (void) { printf("connected"); //BREAK_POINT } static void UDP_Multicast_init(void *arg)

Running a software from a flash STM32F779II

允我心安 提交于 2019-12-12 06:56:04
问题 I would like to run my firmware from the flash address :0x08040000 so I partitioned the memory layout for the software as shown: ENTRY(Reset_Handler) /* Highest address of the user mode stack */ _estack = 0x20080000; /* end of RAM */ /* Generate a link error if heap and stack don't fit into RAM */ _Min_Heap_Size = 0x1000; /* required amount of heap */ _Min_Stack_Size = 0x2000; /* required amount of stack */ /* Specify the memory areas */ MEMORY { FLASH (rx) : ORIGIN = 0x08040000, LENGTH =

Issues with subsript/superscript characters (TouchGFX)

ぐ巨炮叔叔 提交于 2019-12-11 16:56:06
问题 I need subscript/superscript characters for the correct display of O₂,CO₂, m² ,m³.... The superscript characters are working (m³,.. no Problem), but if I want to have a subscript two, either the display shows just the "O" instead of O₂ or a "hyroglyphic" letter behind the O. I checked the wildcard ranges, it is 0x02 to 0x2084. The Unicode for the subscript 2 is 0x2082. I added the ₂ also into the wildcard characters. My code: void Screen1View::button_down_clicked() { Unicode::UnicodeChar list

Measuring clock cycle count on cortex m7

允我心安 提交于 2019-12-09 06:07:32
问题 I have been measuring clock cycle count on the cortex m4 and would now like to do it on the cortex m7. The board I use is STM32F746ZG. For the m4 everything worked with: volatile unsigned int *DWT_CYCCNT; volatile unsigned int *DWT_CONTROL; volatile unsigned int *SCB_DEMCR; void reset_cnt(){ DWT_CYCCNT = (volatile unsigned int *)0xE0001004; //address of the register DWT_CONTROL = (volatile unsigned int *)0xE0001000; //address of the register SCB_DEMCR = (volatile unsigned int *)0xE000EDFC; /