Author: Flemming Jahn

Mine sider

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


April 22, 2018 0

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


April 13, 2018 0

Dave Ramsey 7 Baby steps i en dansk kontekst

Hvis man interesserer sig for privatøkonomi, og bruger bare lidt tid på Youtube, er man sikkert faldet over Dave Ramsey. Dave Ramsey er mest kendt for sine baby steps. Generelt synes jeg disse “baby steps” er ganske fornuftige, men man bør nok se på dem i en dansk kontekst, da Dave Ramsey er meget amerikansk,…
Read more


April 5, 2018 0

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


March 27, 2018 0

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


March 11, 2018 0

FreeRtos – Find ud af om man er i handler mode

I FreeRtos er det irriterende, at man skal bruge to forskellige måder til at ligge noget i en kø, alt efter om man er i en taks eller i ISR. Hvis man bruger CMSIS_OS sammen med FreeRtos, findes der faktisk en funktion, der kan fortælle om man er i ISR eller TASK. Desværre er den…
Read more


March 3, 2018 0

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


February 9, 2018 0

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


January 24, 2018 0

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


January 17, 2018 0

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


January 10, 2018 0