STM32F7 – HAL – Interrupt handling

Når man bruger CubeMx til at lave den basale kode får man automatisk genereret en interrupt handler for External Interrupts, som vist nedenfor.   /** * @brief This function handles EXTI line0 interrupt. */ void EXTI0_IRQHandler(void) { /* USER CODE BEGIN EXTI0_IRQn 0 */ /* USER CODE END EXTI0_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_0); /* USER CODE … [Read more…]

C++ – Hvornår skal man bruge unordered map

C++ fik med C++11 versionen en “std::unordered_map” STL container, men hvornår skal man bruge “std::unordered_map” frem for “std::map”. Jeg har samlet en lille oversigt for hvornår, man skal hvad. Brug “std::map” når:  Du ønsker lav memory forbrug std::unordered_map bruger noget ekstra memory, så hvis der er ønske om at bruge mindst memory skal std:map vælges. Hvis … [Read more…]

VHDL I2C slave

Jeg er i gang med et FPGA design (Microsemi IGLOO nano) til vores test system, og havde i den forbindelse brug for en I2C slave implementation. Mircrosemi leverer en I2C IP med som en del af deres pakke, men den er både master og slave, og er beregnet til at interface op mod en internal … [Read more…]

UNI/O med STM32F7 og FreeRtos

For at kunne kommunikere med en UNI/O eeprom med en STM32F7, som kører FreeRtos, har jeg lavet et lille test program. Jeg har taget udgangspunkt i et eksempel skrevet af Stephen Early (Thanks Steve 🙂 – https://github.com/martmaiste/UNIO/blob/master/UNIO.h )   /* Copyright (C) 2011 by Stephen Early <steve@greenend.org.uk> Permission is hereby granted, free of charge, to any … [Read more…]

Dos kommandoprompt – Copy/Paste ala Linux

I Linux kan man markere en text i kommandoprompt vinduet, og så paste ved, at højre-klikke med musen. Dette er en ret lækker funktion, som desværre ikke er enable’et som default i dos kommandoprompt vinduet. Funktionen enables under “Egenskaber”   Under “Indstillinger” check af “Ekspresredigeringstilstand”   /Flemming Jahn

FreeRtos – TaskNotify eller Semaphore

Jeg har altid lært, at man skal bruge semaphores til at synkronisere mellem threads i et multithreaded system, men er nu blevet opmærksom på at FreeRtos har noget, der hedder Tasknotify. TaskNotify kan bruges i langt de fleste tilfælde, hvor man ville ha brugt en semaphore. Jævnfør FreeRtos’s egen dokumentation bruger TaskNotify’ing mindre RAM og … [Read more…]

Hvordan debugger man “HardFault_Handler” med FreeRtos og ARM Cortex-M

Når man arbejder med FreeRtos sker det (ret ofte), at man får et system crash, der ender i HardFault_Handler handleren, og så vil man jo gerne vide, hvad der gik galt. Dette kan bedst gøres ved at undersøge indholdet af Cortex -M registrene. Det kan gøres ved, at indføre nedenstående kode i HardFault_Handler  funktionen. Det mest … [Read more…]

Online kurser

Når man er teknisk interesseret kan det være meget dyrt, at holde sin viden ved lige, hvis man skal tage kurser hos diverse kursusudbydere. Et kursus kan hurtigt koste 10.000,- til 15.000,- kr, så nogle gange kan det være svært, at overtale sin chef til at betale for det. For ikke at tale om, hvis … [Read more…]