Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • World
  • Users
  • Groups
Skins
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Code Project
  1. Home
  2. The Lounge
  3. ARM and the framework disaster

ARM and the framework disaster

Scheduled Pinned Locked Moved The Lounge
questionc++visual-studio
32 Posts 14 Posters 0 Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • H Offline
    H Offline
    honey the codewitch
    wrote on last edited by
    #1

    First of all, regarding the requirement of using code generators and drag and drop widgets to "program" in C++, can we simply not? Whoever thought that was a good idea is currently at the top of my naughty list. I'm looking at you stm32CubeIDE. Tell me what the venn diagram looks like between people that code in C and C++ and people that want drag and drop heavy handed code generator "modules" they have to muck with in a weird IDE that you're suddenly tied to? Because I don't think the intersection is very big. This junk makes VB6 look streamlined. Also why does it have to be such a hassle to code ARM devices? I have two of them collecting dust because every single framework has something terrible about it that makes it unusable. All I want is to code in C++, in a framework people actually use, and one that doesn't take an hour ever time the firmware needs to be rebuilt. Apparently the people that write the toolchains for ARM find that to be too tall an order. I just don't get it. At this rate, I'm never coding for ARM Cortex-Ms.

    Real programmers use butterflies

    L Sander RosselS Greg UtasG C 1 11 Replies Last reply
    0
    • H honey the codewitch

      First of all, regarding the requirement of using code generators and drag and drop widgets to "program" in C++, can we simply not? Whoever thought that was a good idea is currently at the top of my naughty list. I'm looking at you stm32CubeIDE. Tell me what the venn diagram looks like between people that code in C and C++ and people that want drag and drop heavy handed code generator "modules" they have to muck with in a weird IDE that you're suddenly tied to? Because I don't think the intersection is very big. This junk makes VB6 look streamlined. Also why does it have to be such a hassle to code ARM devices? I have two of them collecting dust because every single framework has something terrible about it that makes it unusable. All I want is to code in C++, in a framework people actually use, and one that doesn't take an hour ever time the firmware needs to be rebuilt. Apparently the people that write the toolchains for ARM find that to be too tall an order. I just don't get it. At this rate, I'm never coding for ARM Cortex-Ms.

      Real programmers use butterflies

      L Offline
      L Offline
      Lost User
      wrote on last edited by
      #2

      I absolutely agree! I tried using STM32CubeIDE while working with a custom board using the STM32 processor. The libraries were either horrible or non-existent. We ended up hiring an electronics engineer to develop a specific framework to use with the design of the board from scratch. I don't see how this IDE and framework are used in a professional setting. It's like it's designed to teach rather than produce.

      "When you are dead, you won't even know that you are dead. It's a pain only felt by others; same thing when you are stupid." Ignorant - An individual without knowledge, but is willing to learn. Stupid - An individual without knowledge and is incapable of learning. Idiot - An individual without knowledge and allows social media to do the thinking for them.

      M 1 Reply Last reply
      0
      • H honey the codewitch

        First of all, regarding the requirement of using code generators and drag and drop widgets to "program" in C++, can we simply not? Whoever thought that was a good idea is currently at the top of my naughty list. I'm looking at you stm32CubeIDE. Tell me what the venn diagram looks like between people that code in C and C++ and people that want drag and drop heavy handed code generator "modules" they have to muck with in a weird IDE that you're suddenly tied to? Because I don't think the intersection is very big. This junk makes VB6 look streamlined. Also why does it have to be such a hassle to code ARM devices? I have two of them collecting dust because every single framework has something terrible about it that makes it unusable. All I want is to code in C++, in a framework people actually use, and one that doesn't take an hour ever time the firmware needs to be rebuilt. Apparently the people that write the toolchains for ARM find that to be too tall an order. I just don't get it. At this rate, I'm never coding for ARM Cortex-Ms.

        Real programmers use butterflies

        Sander RosselS Offline
        Sander RosselS Offline
        Sander Rossel
        wrote on last edited by
        #3

        Are you using Azure Resource Manager scripts? I found the Azure CLI to be a lot shorter and more readable :D Seriously though, we're running out of abbreviations and this one always gets me :doh:

        Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

        H 1 Reply Last reply
        0
        • H honey the codewitch

          First of all, regarding the requirement of using code generators and drag and drop widgets to "program" in C++, can we simply not? Whoever thought that was a good idea is currently at the top of my naughty list. I'm looking at you stm32CubeIDE. Tell me what the venn diagram looks like between people that code in C and C++ and people that want drag and drop heavy handed code generator "modules" they have to muck with in a weird IDE that you're suddenly tied to? Because I don't think the intersection is very big. This junk makes VB6 look streamlined. Also why does it have to be such a hassle to code ARM devices? I have two of them collecting dust because every single framework has something terrible about it that makes it unusable. All I want is to code in C++, in a framework people actually use, and one that doesn't take an hour ever time the firmware needs to be rebuilt. Apparently the people that write the toolchains for ARM find that to be too tall an order. I just don't get it. At this rate, I'm never coding for ARM Cortex-Ms.

          Real programmers use butterflies

          Greg UtasG Offline
          Greg UtasG Offline
          Greg Utas
          wrote on last edited by
          #4

          The first problem is frameworks that are cluttered with crap that hardly anyone uses. Why? Because its architects are either clueless or actually think they're doing users a favor. There has to be a use case for everything in a framework. If it isn't going to be used as soon as it's added, it should only go in if there are likely-to-occur scenarios where it would clearly be useful. The other problem affects the whole industry. The hardware weenies do too good a job delivering faster processors, more memory, and more disk space. Thoughtless developers then piss it away because it's all good if it runs in less than an hour.

          Robust Services Core | Software Techniques for Lemmings | Articles
          The fox knows many things, but the hedgehog knows one big thing.

          <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
          <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

          H J 2 Replies Last reply
          0
          • Greg UtasG Greg Utas

            The first problem is frameworks that are cluttered with crap that hardly anyone uses. Why? Because its architects are either clueless or actually think they're doing users a favor. There has to be a use case for everything in a framework. If it isn't going to be used as soon as it's added, it should only go in if there are likely-to-occur scenarios where it would clearly be useful. The other problem affects the whole industry. The hardware weenies do too good a job delivering faster processors, more memory, and more disk space. Thoughtless developers then piss it away because it's all good if it runs in less than an hour.

            Robust Services Core | Software Techniques for Lemmings | Articles
            The fox knows many things, but the hedgehog knows one big thing.

            H Offline
            H Offline
            honey the codewitch
            wrote on last edited by
            #5

            In their defense a lot of the crap is for supporting hardware that the device has, even if you won't be using most of it (they don't know in advance what you will use) - but the ESP-IDF has a "menuconfig" script that will remove headers for components you aren't using to shorten the compile times. IoT doesn't suffer from the "free lunch problem" you describe. Every cycle and byte counts. You're dealing with 80kB of RAM and 256kB of non-volatile flash program space and that's being generous. Some have far less.

            Real programmers use butterflies

            Greg UtasG 1 Reply Last reply
            0
            • Sander RosselS Sander Rossel

              Are you using Azure Resource Manager scripts? I found the Azure CLI to be a lot shorter and more readable :D Seriously though, we're running out of abbreviations and this one always gets me :doh:

              Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

              H Offline
              H Offline
              honey the codewitch
              wrote on last edited by
              #6

              Oh heck no. ARM processors. :)

              Real programmers use butterflies

              Sander RosselS 1 Reply Last reply
              0
              • H honey the codewitch

                Oh heck no. ARM processors. :)

                Real programmers use butterflies

                Sander RosselS Offline
                Sander RosselS Offline
                Sander Rossel
                wrote on last edited by
                #7

                I know ;)

                Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                H 1 Reply Last reply
                0
                • H honey the codewitch

                  In their defense a lot of the crap is for supporting hardware that the device has, even if you won't be using most of it (they don't know in advance what you will use) - but the ESP-IDF has a "menuconfig" script that will remove headers for components you aren't using to shorten the compile times. IoT doesn't suffer from the "free lunch problem" you describe. Every cycle and byte counts. You're dealing with 80kB of RAM and 256kB of non-volatile flash program space and that's being generous. Some have far less.

                  Real programmers use butterflies

                  Greg UtasG Offline
                  Greg UtasG Offline
                  Greg Utas
                  wrote on last edited by
                  #8

                  Maybe that'll be the blessing of IOT, that those who work on it will learn to think about performance.

                  Robust Services Core | Software Techniques for Lemmings | Articles
                  The fox knows many things, but the hedgehog knows one big thing.

                  <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                  <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                  enhzflepE 1 Reply Last reply
                  0
                  • Sander RosselS Sander Rossel

                    I know ;)

                    Best, Sander Azure DevOps Succinctly (free eBook) Azure Serverless Succinctly (free eBook) Migrating Apps to the Cloud with Azure arrgh.js - Bringing LINQ to JavaScript

                    H Offline
                    H Offline
                    honey the codewitch
                    wrote on last edited by
                    #9

                    I always assume you're messing with me, but I reply as though you're not just to mess with you. :)

                    Real programmers use butterflies

                    1 Reply Last reply
                    0
                    • H honey the codewitch

                      First of all, regarding the requirement of using code generators and drag and drop widgets to "program" in C++, can we simply not? Whoever thought that was a good idea is currently at the top of my naughty list. I'm looking at you stm32CubeIDE. Tell me what the venn diagram looks like between people that code in C and C++ and people that want drag and drop heavy handed code generator "modules" they have to muck with in a weird IDE that you're suddenly tied to? Because I don't think the intersection is very big. This junk makes VB6 look streamlined. Also why does it have to be such a hassle to code ARM devices? I have two of them collecting dust because every single framework has something terrible about it that makes it unusable. All I want is to code in C++, in a framework people actually use, and one that doesn't take an hour ever time the firmware needs to be rebuilt. Apparently the people that write the toolchains for ARM find that to be too tall an order. I just don't get it. At this rate, I'm never coding for ARM Cortex-Ms.

                      Real programmers use butterflies

                      L Offline
                      L Offline
                      Lost User
                      wrote on last edited by
                      #10

                      Never thought C++ was usable for developing UI's. I use C# and VS compiles my packages to ARM, ARM64, x86 and x64.

                      It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food

                      H 1 Reply Last reply
                      0
                      • L Lost User

                        Never thought C++ was usable for developing UI's. I use C# and VS compiles my packages to ARM, ARM64, x86 and x64.

                        It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food

                        H Offline
                        H Offline
                        honey the codewitch
                        wrote on last edited by
                        #11

                        I seriously doubt it runs on an Arm Cortex-M0 with 80kb of RAM and 256kB of flash. ARM Cortex-As are a much different animal. They're basically fancy smartphone or surface PC CPUs.

                        Real programmers use butterflies

                        L 1 Reply Last reply
                        0
                        • H honey the codewitch

                          I seriously doubt it runs on an Arm Cortex-M0 with 80kb of RAM and 256kB of flash. ARM Cortex-As are a much different animal. They're basically fancy smartphone or surface PC CPUs.

                          Real programmers use butterflies

                          L Offline
                          L Offline
                          Lost User
                          wrote on last edited by
                          #12

                          Building ships in bottles.

                          It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food

                          H 1 Reply Last reply
                          0
                          • L Lost User

                            Building ships in bottles.

                            It was only in wine that he laid down no limit for himself, but he did not allow himself to be confused by it. ― Confucian Analects: Rules of Confucius about his food

                            H Offline
                            H Offline
                            honey the codewitch
                            wrote on last edited by
                            #13

                            My smart watch is a ship in a bottle?

                            Real programmers use butterflies

                            1 Reply Last reply
                            0
                            • H honey the codewitch

                              First of all, regarding the requirement of using code generators and drag and drop widgets to "program" in C++, can we simply not? Whoever thought that was a good idea is currently at the top of my naughty list. I'm looking at you stm32CubeIDE. Tell me what the venn diagram looks like between people that code in C and C++ and people that want drag and drop heavy handed code generator "modules" they have to muck with in a weird IDE that you're suddenly tied to? Because I don't think the intersection is very big. This junk makes VB6 look streamlined. Also why does it have to be such a hassle to code ARM devices? I have two of them collecting dust because every single framework has something terrible about it that makes it unusable. All I want is to code in C++, in a framework people actually use, and one that doesn't take an hour ever time the firmware needs to be rebuilt. Apparently the people that write the toolchains for ARM find that to be too tall an order. I just don't get it. At this rate, I'm never coding for ARM Cortex-Ms.

                              Real programmers use butterflies

                              C Offline
                              C Offline
                              Christian Graus
                              wrote on last edited by
                              #14

                              People still use C++? *ducks*

                              H 1 2 Replies Last reply
                              0
                              • Greg UtasG Greg Utas

                                Maybe that'll be the blessing of IOT, that those who work on it will learn to think about performance.

                                Robust Services Core | Software Techniques for Lemmings | Articles
                                The fox knows many things, but the hedgehog knows one big thing.

                                enhzflepE Offline
                                enhzflepE Offline
                                enhzflep
                                wrote on last edited by
                                #15

                                Its because we have to think of performance, cycles, milliamp hours, that I choose to play with uControllers. Protected mode made the x86 landscape considerably less fun. Pre-emptive multi-tasking? Meh, why even bother anymore! I'll just play games on it. :-\

                                Greg UtasG 1 Reply Last reply
                                0
                                • enhzflepE enhzflep

                                  Its because we have to think of performance, cycles, milliamp hours, that I choose to play with uControllers. Protected mode made the x86 landscape considerably less fun. Pre-emptive multi-tasking? Meh, why even bother anymore! I'll just play games on it. :-\

                                  Greg UtasG Offline
                                  Greg UtasG Offline
                                  Greg Utas
                                  wrote on last edited by
                                  #16

                                  I don't want to worry about cycles or milliamp hours. But I'm pretty much with you on the rest. :) Well, except that I rarely play games.

                                  Robust Services Core | Software Techniques for Lemmings | Articles
                                  The fox knows many things, but the hedgehog knows one big thing.

                                  <p><a href="https://github.com/GregUtas/robust-services-core/blob/master/README.md">Robust Services Core</a>
                                  <em>The fox knows many things, but the hedgehog knows one big thing.</em></p>

                                  1 Reply Last reply
                                  0
                                  • C Christian Graus

                                    People still use C++? *ducks*

                                    H Offline
                                    H Offline
                                    honey the codewitch
                                    wrote on last edited by
                                    #17

                                    *sideeyes you* :suss:

                                    Real programmers use butterflies

                                    C 1 Reply Last reply
                                    0
                                    • H honey the codewitch

                                      *sideeyes you* :suss:

                                      Real programmers use butterflies

                                      C Offline
                                      C Offline
                                      Christian Graus
                                      wrote on last edited by
                                      #18

                                      LOL!!! I do miss C++

                                      1 Reply Last reply
                                      0
                                      • H honey the codewitch

                                        First of all, regarding the requirement of using code generators and drag and drop widgets to "program" in C++, can we simply not? Whoever thought that was a good idea is currently at the top of my naughty list. I'm looking at you stm32CubeIDE. Tell me what the venn diagram looks like between people that code in C and C++ and people that want drag and drop heavy handed code generator "modules" they have to muck with in a weird IDE that you're suddenly tied to? Because I don't think the intersection is very big. This junk makes VB6 look streamlined. Also why does it have to be such a hassle to code ARM devices? I have two of them collecting dust because every single framework has something terrible about it that makes it unusable. All I want is to code in C++, in a framework people actually use, and one that doesn't take an hour ever time the firmware needs to be rebuilt. Apparently the people that write the toolchains for ARM find that to be too tall an order. I just don't get it. At this rate, I'm never coding for ARM Cortex-Ms.

                                        Real programmers use butterflies

                                        1 Offline
                                        1 Offline
                                        11917640 Member
                                        wrote on last edited by
                                        #19

                                        I am working with STM32 for several years. Looks like every new release has more and more bugs, which are never fixed. On the other hand, new CubeIDE version has super-ugly new look. Probably they have too much UI programmers, but not enough hadrware programmers. CubeMX code generator produces non-working code. But if you don't want code generator, you can write everything from scratch. All code samples are written from scratch without CubeMX. CubeIDE itself is OK, it is Eclipse-based and makes its work. Starting a new project now, I think I will look for another options. If looks like STM moves in wrong direction.

                                        H 1 Reply Last reply
                                        0
                                        • 1 11917640 Member

                                          I am working with STM32 for several years. Looks like every new release has more and more bugs, which are never fixed. On the other hand, new CubeIDE version has super-ugly new look. Probably they have too much UI programmers, but not enough hadrware programmers. CubeMX code generator produces non-working code. But if you don't want code generator, you can write everything from scratch. All code samples are written from scratch without CubeMX. CubeIDE itself is OK, it is Eclipse-based and makes its work. Starting a new project now, I think I will look for another options. If looks like STM moves in wrong direction.

                                          H Offline
                                          H Offline
                                          honey the codewitch
                                          wrote on last edited by
                                          #20

                                          I really like the ESP32s. The ESP-IDF is nice to code in - you can use fopen() and printf() and such, though I've had some issues with the SPI, but SPI works great under the Arduino framework with it. The achilles heel is it's kind of quirky and draws more power than some other offerings. However, again, coding with it is just great compared to the STM32, IMO. They are also powerful for an IoT device. The minimum configuration is single core, 360k or so of RAM and 4MB of NVS flash. A typical configuration has 520k of RAM and two cores. They have generous IO, with multiple SPI and I2C controllers, a ton of built in widgets including bluetooth and wifi, touch sensors, a magnetic field detector, ADCs (though a bit dodgy) and DACs, and all the pins are remappable in software. They really are fantastic little machines.

                                          Real programmers use butterflies

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • World
                                          • Users
                                          • Groups