56,966 blogs · [ { "id": "01a0b84e-4d70-7312-b4eb-7feb3996efa5", "title": "Introducing J-Probe: A student-built tool for testing embedded systems in real time", "url": "https://blog.segger.com/j-probe/", "published_at": "2025-07-31T08:29:46+00:00" }, { "id": "01a0b84e-4d70-7312-b4eb-7feb39f24728", "title": "Reviving a classic electronic game – using SEGGER Tools and Software (Part III)", "url": "https://blog.segger.com/reviving-a-classic-electronic-game-using-segger-tools-and-software-part-iii/", "published_at": "2025-06-18T09:47:47+00:00" }, { "id": "01a0b84e-4d71-7379-8da1-79c7775c07e1", "title": "Reviving a classic electronic game – using SEGGER Tools and Software (Part II)", "url": "https://blog.segger.com/reviving-a-classic-electronic-game-using-segger-tools-and-software-part-ii/", "published_at": "2025-06-12T11:34:56+00:00" }, { "id": "01a0b84e-4d71-7379-8da1-79c7777e4494", "title": "What’s Cooking at SEGGER: Introducing Embedded Apps", "url": "https://blog.segger.com/whats-cooking-at-segger-introducing-embedded-apps/", "published_at": "2025-06-10T12:29:14+00:00" }, { "id": "01a0b84e-4d71-7379-8da1-79c777e10246", "title": "Reviving a classic electronic game using SEGGER tools and software (Part I)", "url": "https://blog.segger.com/reviving-galaxis-using-segger-tools-and-software-part-i/", "published_at": "2025-06-04T07:26:12+00:00" }, { "id": "01a0b84e-4d72-71d5-bc6e-62cbcadcae43", "title": "From concept to completion: SEGGER’s toolkit for embedded development", "url": "https://blog.segger.com/seggers-toolkit-for-embedded-development/", "published_at": "2024-11-25T13:05:25+00:00" }, { "id": "01a0b84e-4d72-71d5-bc6e-62cbcbc11575", "title": "ChatGPT’s take on SEGGER J-Links: An insightful “conversation”", "url": "https://blog.segger.com/chatgpts-take-on-segger-j-links-an-insightful-conversation/", "published_at": "2024-05-16T15:09:38+00:00" }, { "id": "01a0b84e-4d72-71d5-bc6e-62cbcc61311c", "title": "J-Link PRO PoE powers the SEGGER test farm", "url": "https://blog.segger.com/j-link-pro-poe-powers-the-segger-test-farm/", "published_at": "2023-11-28T12:48:22+00:00" }, { "id": "01a0b84e-4d72-71d5-bc6e-62cbccea34b8", "title": "Debugging with external memory: J-Link adds Dual Memory Maps", "url": "https://blog.segger.com/debugging-with-external-memory-j-link-adds-dual-memory-maps/", "published_at": "2023-11-23T10:39:53+00:00" }, { "id": "01a0b84e-4d72-71d5-bc6e-62cbcd6e0255", "title": "Automated testing made easy with emSim", "url": "https://blog.segger.com/software-testing-is-a-real-headache/", "published_at": "2023-10-26T22:29:19+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b93d6a9b0", "title": "CPU Design at SEGGER", "url": "https://blog.segger.com/cpu-design-at-segger/", "published_at": "2023-09-26T11:38:18+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b94bbdfe1", "title": "A whole new way to interact with headless devices", "url": "https://blog.segger.com/a-whole-new-way-to-interact-with-headless-devices/", "published_at": "2023-08-23T09:44:42+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b94f374fe", "title": "RISC-V: Dividing efficiently across different hardware", "url": "https://blog.segger.com/dividing-efficiently-across-different-hardware/", "published_at": "2022-10-07T09:39:09+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b95e2eb00", "title": "Size matters – Comparing tool chains and CPUs", "url": "https://blog.segger.com/size-matters-comparing-tool-chains-and-cpus/", "published_at": "2022-10-07T08:23:47+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b966134ea", "title": "C++ pitfalls – Memory allocation from interrupts", "url": "https://blog.segger.com/c-pitfalls-memory-allocation-from-interrupts/", "published_at": "2022-08-28T15:36:06+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b9681b72a", "title": "Securing embedded systems with digital signatures: The basics", "url": "https://blog.segger.com/securing-embedded-systems-with-digital-signatures-the-basics/", "published_at": "2022-05-25T20:37:26+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b9717a89a", "title": "C++ real-time allocation — a chess engine", "url": "https://blog.segger.com/c-real-time-allocation-a-chess-engine/", "published_at": "2022-03-22T21:31:49+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b974cab7a", "title": "Hacking emSecure?", "url": "https://blog.segger.com/hacking-emsecure/", "published_at": "2022-02-25T19:39:36+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b981b40ba", "title": "Algorithms for division – part 4 – Using Newton’s method", "url": "https://blog.segger.com/algorithms-for-division-part-4-using-newtons-method/", "published_at": "2021-12-02T09:53:16+00:00" }, { "id": "01a0c515-30e6-720a-a752-0b4b98a67f9f", "title": "Algorithms for division – part 3 – Using multiplication", "url": "https://blog.segger.com/algorithms-for-division-part-3-using-multiplication/", "published_at": "2021-11-29T13:00:47+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb7f8396d9", "title": "Saving power in embedded systems – Reducing idle CPU speed", "url": "https://blog.segger.com/saving-power-in-embedded-systems-reducing-idle-cpu-speed/", "published_at": "2021-11-17T01:45:34+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb805f9a5e", "title": "Algorithms for division – part 2 – Classics", "url": "https://blog.segger.com/algorithms-for-division-part-2-classics/", "published_at": "2021-10-17T23:26:52+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb80648488", "title": "Algorithms for division – part 1", "url": "https://blog.segger.com/algorithms-for-division-part-1/", "published_at": "2021-10-11T11:56:11+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb808b09af", "title": "emWeb: User interface in the web browser", "url": "https://blog.segger.com/emweb-user-interface-in-the-web-browser/", "published_at": "2021-09-02T16:08:36+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb80e77fc3", "title": "Risks Are Often Underestimated — It Is Not Only the Chip Crisis that Threatens Embedded Manufacturers", "url": "https://blog.segger.com/risks-are-often-underestimated-it-is-not-only-the-chip-crisis-that-threatens-embedded-manufacturers/", "published_at": "2021-06-17T09:09:02+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb80f685c7", "title": "emVDSP vs CMSIS-DSP", "url": "https://blog.segger.com/emvdsp-vs-cmsis-dsp/", "published_at": "2021-03-11T23:44:54+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb813e72ee", "title": "SEGGER’s Embedded Studio Achieves Top Rating in German Elektronik Magazine", "url": "https://blog.segger.com/seggers-embedded-studio-achieves-top-rating-in-german-elektronik-magazine/", "published_at": "2021-03-08T09:06:57+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb820c32af", "title": "Working at SEGGER Microcontroller: The question of “why?”", "url": "https://blog.segger.com/working-at-segger-microcontroller-the-question-of-why/", "published_at": "2021-03-02T13:12:54+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb8217547a", "title": "SEGGER Embedded Studio on Apple M1 and Intel i7", "url": "https://blog.segger.com/segger-embedded-studio-on-apple-m1-and-intel-i7/", "published_at": "2021-02-10T19:45:46+00:00" }, { "id": "01a0c520-7ca7-7258-93af-dbeb82d3cfe6", "title": "Correlating and visualizing data sampling, current consumption, and program execution via Ozone’s Timeline Window", "url": "https://blog.segger.com/correlating-and-visualizing-data-sampling-current-consumption-and-program-execution-via-ozones-timeline-window/", "published_at": "2021-01-20T19:53:27+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c888d696c", "title": "Code Size: Squeezing more with linker outlining", "url": "https://blog.segger.com/code-size-squeezing-more-with-linker-outlining/", "published_at": "2020-12-13T16:37:34+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c890234bc", "title": "Code size: Closing the gap between RISC-V and Arm for embedded applications", "url": "https://blog.segger.com/code-size-closing-the-gap-between-risc-v-and-arm-for-embedded-applications/", "published_at": "2020-12-02T23:46:32+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c89241a1e", "title": "Every byte counts – Floating-point in less than 1 KB", "url": "https://blog.segger.com/every-byte-counts-floating-point-in-less-than-1-kb/", "published_at": "2020-08-24T12:55:32+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c89e1a35d", "title": "Every byte counts – Smallest “Hello world”", "url": "https://blog.segger.com/every-byte-counts-smallest-hello-world/", "published_at": "2020-08-12T01:20:50+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c8a626baf", "title": "Integrity checks with the new SEGGER Linker", "url": "https://blog.segger.com/integrity-checks-with-the-new-segger-linker/", "published_at": "2020-08-10T13:01:58+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c8b32137e", "title": "Every Byte counts – The 100-Byte Blinky Challenge", "url": "https://blog.segger.com/every-byte-counts-the-100-byte-blinky-challenge/", "published_at": "2020-08-07T13:10:08+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c8b37455f", "title": "Debugging the dual-core NXP i.MX RT600 with the one and only SEGGER J-Link", "url": "https://blog.segger.com/debugging-the-dual-core-nxp-i-mx-rt600-with-the-one-and-only-segger-j-link/", "published_at": "2020-06-24T21:05:28+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c8be49b04", "title": "Extending AppWizard-generated GUIs with emWin Widgets", "url": "https://blog.segger.com/extending-appwizard-generated-guis-with-emwin-widgets/", "published_at": "2020-06-04T17:12:29+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c8c879668", "title": "How to do Gauges in AppWizard – Part II", "url": "https://blog.segger.com/how-to-do-gauges-in-appwizard-part-ii/", "published_at": "2020-04-29T21:32:45+00:00" }, { "id": "01a0c52b-6934-7324-add3-2b7c8ca21fd0", "title": "Profiling and Code coverage on RISC-V using simulation", "url": "https://blog.segger.com/profiling-and-code-coverage-on-risc-v-using-simulation/", "published_at": "2020-04-04T18:52:20+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c0d05f122", "title": "How to do Gauges in AppWizard – Part I", "url": "https://blog.segger.com/how-to-do-gauges-in-appwizard-part-i/", "published_at": "2020-03-28T18:20:59+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c0db26ba4", "title": "SEGGER in times of the coronavirus / COVID-19", "url": "https://blog.segger.com/segger-in-times-of-the-corona-virus-covid-19/", "published_at": "2020-03-22T21:11:37+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c0e273c59", "title": "The SEGGER Compiler", "url": "https://blog.segger.com/the-segger-compiler/", "published_at": "2020-02-12T23:49:24+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c0e8abae3", "title": "Floating-point face off, part 3: How we do it", "url": "https://blog.segger.com/floating-point-face-off-part-3-how-we-do-it/", "published_at": "2019-11-22T13:21:48+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c0f71c1b3", "title": "Floating-point face-off, part 2: Comparing performance", "url": "https://blog.segger.com/floating-point-face-off-part-2-comparing-performance/", "published_at": "2019-11-07T09:27:35+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c1033240d", "title": "Finding the right (Q)SPI Flash for your project", "url": "https://blog.segger.com/finding-the-right-qspi-flash-for-your-project/", "published_at": "2019-10-08T21:06:41+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c108bb8fb", "title": "The Good, The Best, and The Only", "url": "https://blog.segger.com/the-good-the-best-and-the-only/", "published_at": "2019-09-18T12:49:11+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c1177caed", "title": "Floating-point face-off", "url": "https://blog.segger.com/floating-point-face-off/", "published_at": "2019-08-05T09:50:56+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c11df52db", "title": "IoT Station#1 Launched (using emMQTT)", "url": "https://blog.segger.com/iot-station1-launched-using-emmqtt/", "published_at": "2019-05-23T18:51:07+00:00" }, { "id": "01a0c536-9847-7124-a099-bd9c121c1267", "title": "Using AppWizard to create interesting buttons", "url": "https://blog.segger.com/using-appwizard-to-create-interesting-buttons/", "published_at": "2019-05-17T01:00:48+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66a044144", "title": "Turning an FPGA into a powerful microcontroller. No external memory required.", "url": "https://blog.segger.com/turning-an-fpga-into-a-powerful-microcontroller-no-external-memory-required/", "published_at": "2019-05-16T00:27:37+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66a4227ad", "title": "Creating a cool knob using the SEGGER AppWizard", "url": "https://blog.segger.com/creating-a-cool-knob-using-the-segger-emwin-appwizard/", "published_at": "2019-05-03T19:07:54+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66a505c1f", "title": "Express Logic acquired by Microsoft", "url": "https://blog.segger.com/express-logic-acquired-by-microsoft/", "published_at": "2019-04-25T01:32:50+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66aa6441d", "title": "Building our own tools for documentation", "url": "https://blog.segger.com/building-documentation-tools/", "published_at": "2019-01-30T14:34:46+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66b5a0126", "title": "Decoding the Akai Fire MIDI implementation – part 3", "url": "https://blog.segger.com/decoding-the-akai-fire-part-3/", "published_at": "2019-01-28T16:54:50+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66b5a2ac7", "title": "Decoding the Akai Fire MIDI implementation – part 2", "url": "https://blog.segger.com/decoding-the-akai-fire-part-2/", "published_at": "2019-01-28T16:54:42+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66be8f135", "title": "Decoding the Akai Fire MIDI implementation – part 1", "url": "https://blog.segger.com/decoding-the-akai-fire-part-1/", "published_at": "2019-01-28T16:54:27+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66bfb16aa", "title": "New office, more plans!", "url": "https://blog.segger.com/new-office-more-plans/", "published_at": "2018-09-30T19:07:23+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66cdb844c", "title": "Designing quality software", "url": "https://blog.segger.com/designing-quality-software/", "published_at": "2018-07-20T10:37:22+00:00" }, { "id": "01a0c540-69e8-73e2-a838-51f66daf45a4", "title": "Quality at SEGGER", "url": "https://blog.segger.com/quality-at-segger-overview/", "published_at": "2018-06-09T16:17:59+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978ce53c79d", "title": "J-Run: Automating performance tests on real hardware", "url": "https://blog.segger.com/j-run-automating-performance-tests/", "published_at": "2018-03-21T07:56:26+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978cef0de55", "title": "Current state of the trace market", "url": "https://blog.segger.com/current-state-of-the-trace-market/", "published_at": "2018-02-21T14:48:35+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978cf3a7678", "title": "SMASH: an efficient compression algorithm for microcontrollers", "url": "https://blog.segger.com/smash-an-efficient-compression-algorithm-for-microcontrollers/", "published_at": "2017-12-28T10:39:02+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978cf72167c", "title": "RISC-V adoption and 7th Workshop thoughts", "url": "https://blog.segger.com/risc-v-adoption-and-7th-workshop-thoughts/", "published_at": "2017-12-08T09:37:49+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978cff1e77a", "title": "The SEGGER linker and SOMNIUM assets", "url": "https://blog.segger.com/the-segger-linker-and-somnium-assets/", "published_at": "2017-11-20T15:20:37+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978d0e94dc2", "title": "emNet with built-in UDP flood protection", "url": "https://blog.segger.com/udp-flood-protection-built-in/", "published_at": "2017-10-25T10:02:16+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978d102d535", "title": "Killer features of the SEGGER linker, or what’s wrong with the GNU linker?", "url": "https://blog.segger.com/killer-features-of-the-segger-linker-or-whats-wrong-with-the-gnu-linker/", "published_at": "2017-10-07T17:33:18+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978d19d684e", "title": "The SEGGER Linker – Replacing the GNU linker", "url": "https://blog.segger.com/the-segger-linker-replacing-the-gnu-linker/", "published_at": "2017-09-21T00:55:50+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978d24ca25a", "title": "Using a watchdog in a multi-task (RTOS) environment", "url": "https://blog.segger.com/using-a-watchdog-in-a-multi-task-rtos-environment/", "published_at": "2017-08-09T16:20:46+00:00" }, { "id": "01a0c548-edbf-72ce-852d-2978d2a7f09a", "title": "Performance tuning our software", "url": "https://blog.segger.com/performance-tuning-our-software/", "published_at": "2017-05-02T20:53:57+00:00" }, { "id": "01a0c551-a533-71f8-91dc-5766803d20a4", "title": "Getting printf Output from Target to Debugger", "url": "https://blog.segger.com/getting-printf-output-from-target-to-debugger/", "published_at": "2016-10-21T15:02:17+00:00" }, { "id": "01a0c551-a533-71f8-91dc-5766807bf9d7", "title": "Update on: Comparing Performance on Windows, Linux and OS X", "url": "https://blog.segger.com/update-on-comparing-performance-on-windows-linux-and-os-x/", "published_at": "2016-10-12T12:57:22+00:00" }, { "id": "01a0c551-a533-71f8-91dc-576680e2f10c", "title": "Getting started with J-Trace PRO", "url": "https://blog.segger.com/getting-started-with-j-trace-pro/", "published_at": "2016-10-07T15:09:37+00:00" }, { "id": "01a0c551-a533-71f8-91dc-57668149df74", "title": "Why you should benchmark your embedded system", "url": "https://blog.segger.com/why-you-should-benchmark-your-embedded-system/", "published_at": "2016-09-30T15:53:10+00:00" }, { "id": "01a0c551-a533-71f8-91dc-5766820eafc6", "title": "Comparing Performance on Windows, Linux and OS X", "url": "https://blog.segger.com/comparing-performance-on-windows-linux-and-os-x/", "published_at": "2016-09-20T12:00:16+00:00" }, { "id": "01a0c551-a533-71f8-91dc-576682cc3c25", "title": "Embedded Studio for Windows: 64-bits vs. 32-bits", "url": "https://blog.segger.com/embedded-studio-for-windows-64-bits-vs-32-bits/", "published_at": "2016-09-14T14:41:22+00:00" }, { "id": "01a0c551-a533-71f8-91dc-576683c66cee", "title": "Welcome", "url": "https://blog.segger.com/welcome/", "published_at": "2016-09-14T09:30:18+00:00" } ] posts Claim your blog
Back to segger.com
Blog · corpus.blog/blogs/segger.com/posts

segger.com

segger.com

2025

2024

2023

2022

2021

2020

2019

2018

2017

2016