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. Moving on up (to ARM)

Moving on up (to ARM)

Scheduled Pinned Locked Moved The Lounge
hardwarecomhelp
48 Posts 19 Posters 1 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 honey the codewitch

    My little consortium of embedded developers is looking to move our offerings over to the ARM Cortex M line of processors. One of the big primary drivers of this, is lack of availability of LCD displays for the more hobbyist/Arduino type end of things. The first issue we've had is an utter lack of toolchain, bootloader firmware, HAL code, or really anything to get us going starting with a bare metal chip. I discovered keil.com which can potentially get us over that hump, if we can afford it. I'm always a little anxious when getting a price requires a quote. Waiting to hear from them, but I also am still out of my depth. I know there are some embedded developers here. I'm not afraid of failure, and I'm not afraid to get my hands dirty. Any advice as far as this move goes would be appreciated. It's definitely the deep end of the pool for me.

    To err is human. Fortune favors the monsters.

    Mike HankeyM Offline
    Mike HankeyM Offline
    Mike Hankey
    wrote on last edited by
    #5

    If you go with STMicroelectroincs there's the STM32CubeIDE, otherwise Keil is you IDE and I haven't priced it but I don't think it will be very cheap. STM also has a very competent HAL with a GUI that makes it a snap to configure. As for programmers there's J-Link by Seggar[^] J-Link is an all around programmer, I believe it does quite a few families of chips. Again if you go with STM there is the ST-Link programmers and they are way less expensive. I moved from Arduino to ARM and haven't looked back.

    Give me coffee to change the things I can and wine for those I can not! PartsBin an Electronics Part Organizer - An updated version available! JaxCoder.com Latest Article: Simon Says, A Child's Game

    1 Reply Last reply
    0
    • H honey the codewitch

      My little consortium of embedded developers is looking to move our offerings over to the ARM Cortex M line of processors. One of the big primary drivers of this, is lack of availability of LCD displays for the more hobbyist/Arduino type end of things. The first issue we've had is an utter lack of toolchain, bootloader firmware, HAL code, or really anything to get us going starting with a bare metal chip. I discovered keil.com which can potentially get us over that hump, if we can afford it. I'm always a little anxious when getting a price requires a quote. Waiting to hear from them, but I also am still out of my depth. I know there are some embedded developers here. I'm not afraid of failure, and I'm not afraid to get my hands dirty. Any advice as far as this move goes would be appreciated. It's definitely the deep end of the pool for me.

      To err is human. Fortune favors the monsters.

      D Offline
      D Offline
      den2k88
      wrote on last edited by
      #6

      I don't know what you're used to but Keil makes VisualStudio 6 look futuristic. STMCube is much more powerful though I found it unreliable and very slow and heavy. Depending on the platform Keil can also end up supporting only 2 breakpoints at any given time, unless you hardcode them in with BKPT, which makes debugging tricky. I suggest you to look up the EventRecorder functionality for keil, it should work on any supported device and it's a godsend for tracing and debugging (this could be a good topic for an article, note to self). On the other hand keil is quite lightweight and fast, the compilation error messages are also quite explicative. The uLink programmers may be finicky and require multiple tries to correctly set up the reset type for debugging (I always have best results with "connect with Pre-Reset").

      GCS/GE d--(d) s-/+ a C+++ U+++ P-- L+@ E-- W+++ N+ o+ K- w+++ O? M-- V? PS+ PE Y+ PGP t+ 5? X R+++ tv-- b+(+++) DI+++ D++ G e++ h--- r+++ y+++*      Weapons extension: ma- k++ F+2 X

      1 Reply Last reply
      0
      • H honey the codewitch

        My little consortium of embedded developers is looking to move our offerings over to the ARM Cortex M line of processors. One of the big primary drivers of this, is lack of availability of LCD displays for the more hobbyist/Arduino type end of things. The first issue we've had is an utter lack of toolchain, bootloader firmware, HAL code, or really anything to get us going starting with a bare metal chip. I discovered keil.com which can potentially get us over that hump, if we can afford it. I'm always a little anxious when getting a price requires a quote. Waiting to hear from them, but I also am still out of my depth. I know there are some embedded developers here. I'm not afraid of failure, and I'm not afraid to get my hands dirty. Any advice as far as this move goes would be appreciated. It's definitely the deep end of the pool for me.

        To err is human. Fortune favors the monsters.

        F Offline
        F Offline
        fd9750
        wrote on last edited by
        #7

        This is from a few years ago so things may have changed. STM provides a number of development boards with their own built in debug chip which sort of simulates JTAG functionality. Oddly enough they don't support ( or didn't support ) the debug capability on all of their development boards. So I ended up with a cortex M4 board for which there was no debug support. Oddly enough I found a suitable driver for the STM debug chip on Segger's web site so that it was possible to debug stuff on that particular development board. It is too long ago to remember the details but I have all of those details in a backup location which I could lookup if you want. If my memory does not betray me I think I got it working with VSCODE, the segger driver and the gcc compiler toolchain.

        1 Reply Last reply
        0
        • H honey the codewitch

          My little consortium of embedded developers is looking to move our offerings over to the ARM Cortex M line of processors. One of the big primary drivers of this, is lack of availability of LCD displays for the more hobbyist/Arduino type end of things. The first issue we've had is an utter lack of toolchain, bootloader firmware, HAL code, or really anything to get us going starting with a bare metal chip. I discovered keil.com which can potentially get us over that hump, if we can afford it. I'm always a little anxious when getting a price requires a quote. Waiting to hear from them, but I also am still out of my depth. I know there are some embedded developers here. I'm not afraid of failure, and I'm not afraid to get my hands dirty. Any advice as far as this move goes would be appreciated. It's definitely the deep end of the pool for me.

          To err is human. Fortune favors the monsters.

          M Offline
          M Offline
          megaadam
          wrote on last edited by
          #8

          I have the impression that you might have been avoiding vscode. I might be wrong! vscode is 100% unrelated to Visual Studio. I suggest you take a peek at: GitHub - Marus/cortex-debug[^] 5.0 ratings [as here] are extremely rare in the vscode plugin "store".

          "If we don't change direction, we'll end up where we're going"

          H 1 Reply Last reply
          0
          • H honey the codewitch

            My little consortium of embedded developers is looking to move our offerings over to the ARM Cortex M line of processors. One of the big primary drivers of this, is lack of availability of LCD displays for the more hobbyist/Arduino type end of things. The first issue we've had is an utter lack of toolchain, bootloader firmware, HAL code, or really anything to get us going starting with a bare metal chip. I discovered keil.com which can potentially get us over that hump, if we can afford it. I'm always a little anxious when getting a price requires a quote. Waiting to hear from them, but I also am still out of my depth. I know there are some embedded developers here. I'm not afraid of failure, and I'm not afraid to get my hands dirty. Any advice as far as this move goes would be appreciated. It's definitely the deep end of the pool for me.

            To err is human. Fortune favors the monsters.

            C Offline
            C Offline
            charlieg
            wrote on last edited by
            #9

            In our shop, we use IAR and EMBOS - it gets expensive in a hurry.

            Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

            H 1 Reply Last reply
            0
            • C charlieg

              In our shop, we use IAR and EMBOS - it gets expensive in a hurry.

              Charlie Gilley “They who can give up essential liberty to obtain a little temporary safety deserve neither liberty nor safety.” BF, 1759 Has never been more appropriate.

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

              Keil seems relatively affordable, if relatively affordable is about $2k a year

              To err is human. Fortune favors the monsters.

              C 1 Reply Last reply
              0
              • M megaadam

                I have the impression that you might have been avoiding vscode. I might be wrong! vscode is 100% unrelated to Visual Studio. I suggest you take a peek at: GitHub - Marus/cortex-debug[^] 5.0 ratings [as here] are extremely rare in the vscode plugin "store".

                "If we don't change direction, we'll end up where we're going"

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

                nah, I use VS Code every day, but I don't have a toolchain for targeting say, an ARM Cortex M7 or whatever.

                To err is human. Fortune favors the monsters.

                1 Reply Last reply
                0
                • pkfoxP pkfox

                  [armbian](https://www.armbian.com) make builds for most linux based ARM SBC's

                  In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP

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

                  After poking around at that site, I've already learned quite a bit, and am falling down this particular rabbit hole with gusto. A $30 ARM Cortex M that runs linux? That alone was worth following the link.

                  To err is human. Fortune favors the monsters.

                  pkfoxP 1 Reply Last reply
                  0
                  • H honey the codewitch

                    Keil seems relatively affordable, if relatively affordable is about $2k a year

                    To err is human. Fortune favors the monsters.

                    C Offline
                    C Offline
                    CPallini
                    wrote on last edited by
                    #13

                    That's not affordable. Anyway, why Keil when possibly GCC could do it?

                    "In testa che avete, Signor di Ceprano?" -- Rigoletto

                    H 0 2 Replies Last reply
                    0
                    • H honey the codewitch

                      After poking around at that site, I've already learned quite a bit, and am falling down this particular rabbit hole with gusto. A $30 ARM Cortex M that runs linux? That alone was worth following the link.

                      To err is human. Fortune favors the monsters.

                      pkfoxP Offline
                      pkfoxP Offline
                      pkfox
                      wrote on last edited by
                      #14

                      Glad it helped - I’ve been messing around with ARM SBC boards for years

                      In a closed society where everybody's guilty, the only crime is getting caught. In a world of thieves, the only final sin is stupidity. - Hunter S Thompson - RIP

                      1 Reply Last reply
                      0
                      • C CPallini

                        That's not affordable. Anyway, why Keil when possibly GCC could do it?

                        "In testa che avete, Signor di Ceprano?" -- Rigoletto

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

                        It depends on what you're doing. If it was just a development subscription I'd consider it. I'd just pad my bids to cover the cost. It's really not that much money per month. That being said, after further correspondence with them it seems they want to charge me ongoing fees on a per project basis. That's not acceptable. I am unwilling to saddle my clients with ongoing royalties. They pay me for deliverables. As far as GCC, GCC is a compiler, and if you're being generous, the C standard libraries That's not enough to realistically develop on an ARM Chip. If you want to use the HDMI capabilities, USB 2.0 hosting, I2C, or really any of the peripherals on that chip you will be going straight to the registers. A hardware abstraction layer for a complicated ARM could take as much as 10 man years or more to implement. It's not cost effective to develop it myself. Keil provides packages for all of this. However, it looks like Armbian – Linux for ARM development boards[^] may be a better option.

                        To err is human. Fortune favors the monsters.

                        C C 2 Replies Last reply
                        0
                        • C CPallini

                          That's not affordable. Anyway, why Keil when possibly GCC could do it?

                          "In testa che avete, Signor di Ceprano?" -- Rigoletto

                          0 Offline
                          0 Offline
                          0x01AA
                          wrote on last edited by
                          #16

                          Quote:

                          That's not affordable.

                          How long such a stack will survive/be up to date? Let's be optimistic and say 5 Years. Makes at the end 10K$. How many hours these 10K $ allows you to do the whole thing from scratch?

                          C 1 Reply Last reply
                          0
                          • 0 0x01AA

                            Quote:

                            That's not affordable.

                            How long such a stack will survive/be up to date? Let's be optimistic and say 5 Years. Makes at the end 10K$. How many hours these 10K $ allows you to do the whole thing from scratch?

                            C Offline
                            C Offline
                            CPallini
                            wrote on last edited by
                            #17

                            You don't necessarily have to do it from scratch. For instance, my everyday work with M0 and M3 MCUs is strongly supported by their productor, via a very effective code generator (and the worst code editor I've ever used) and the GCC toolchain.

                            "In testa che avete, Signor di Ceprano?" -- Rigoletto

                            1 Reply Last reply
                            0
                            • H honey the codewitch

                              It depends on what you're doing. If it was just a development subscription I'd consider it. I'd just pad my bids to cover the cost. It's really not that much money per month. That being said, after further correspondence with them it seems they want to charge me ongoing fees on a per project basis. That's not acceptable. I am unwilling to saddle my clients with ongoing royalties. They pay me for deliverables. As far as GCC, GCC is a compiler, and if you're being generous, the C standard libraries That's not enough to realistically develop on an ARM Chip. If you want to use the HDMI capabilities, USB 2.0 hosting, I2C, or really any of the peripherals on that chip you will be going straight to the registers. A hardware abstraction layer for a complicated ARM could take as much as 10 man years or more to implement. It's not cost effective to develop it myself. Keil provides packages for all of this. However, it looks like Armbian – Linux for ARM development boards[^] may be a better option.

                              To err is human. Fortune favors the monsters.

                              C Offline
                              C Offline
                              CPallini
                              wrote on last edited by
                              #18

                              Many MCU (e.g. Cypress, Microchip,...) vendors base their IDEs on GCC. Some of them provides them for free.

                              "In testa che avete, Signor di Ceprano?" -- Rigoletto

                              H 1 Reply Last reply
                              0
                              • C CPallini

                                Many MCU (e.g. Cypress, Microchip,...) vendors base their IDEs on GCC. Some of them provides them for free.

                                "In testa che avete, Signor di Ceprano?" -- Rigoletto

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

                                Right, but again GCC doesn't include everything that I need. I need the bootloader and the HAL, and all that happy business.

                                To err is human. Fortune favors the monsters.

                                C 1 Reply Last reply
                                0
                                • H honey the codewitch

                                  Right, but again GCC doesn't include everything that I need. I need the bootloader and the HAL, and all that happy business.

                                  To err is human. Fortune favors the monsters.

                                  C Offline
                                  C Offline
                                  CPallini
                                  wrote on last edited by
                                  #20

                                  Quote:

                                  I need the bootloader and the HAL, and all that happy business

                                  I hardly believe all such stuff is provided by Keil. ARM licenses the core, the peripherals are manufacturer specific.

                                  "In testa che avete, Signor di Ceprano?" -- Rigoletto

                                  H 1 Reply Last reply
                                  0
                                  • C CPallini

                                    Quote:

                                    I need the bootloader and the HAL, and all that happy business

                                    I hardly believe all such stuff is provided by Keil. ARM licenses the core, the peripherals are manufacturer specific.

                                    "In testa che avete, Signor di Ceprano?" -- Rigoletto

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

                                    I may be misunderstanding something significant. The peripherals I'm referring to are part of the SoC. You're saying those are manufacturer specific? I guess that would make sense. Hmmmm. Let me ask a stupid question since you clearly have forgotten more about this than I've hope to learn in the time I have to learn it: (By which I mean relative to you I am an utter idiot about all this. I never went to school for it or anything) If I order this. https://www.digikey.com/en/products/detail/nxp-usa-inc/MIMXRT1062DVJ6B/13574426[^] (- In theory anyway. It isn't in stock, which is actually part of my problem - I'll explain) Where do I go to get anything beyond a datasheet and maybe a hardware manual to tell me what registers to use? I find it hard to believe that there aren't HAL packages and such available for an SOC like this. Are you saying I'd get it (in this case, from NXP?) I haven't seen much from NXP for this at their site, but I didn't think to look that hard either. As far as my problem: I want to use these ARMs primarily to expand my display options, but also to take advantage some more modern features than I can get on say, ESP32 nonsense. I actually have a bootloader and a HAL for the chip I linked to (assuming I bookmarked the right one, I'd have to look to be 100% sure) but it's provided by PJRC via their Teensy 4.1 kit, and it's specific to that chip. Here's what I want to be able to do. When I'm approached with a project, I want to match requirements with an ARM chip, and then find one I can integrate, with a HAL layer and bootloader I don't have to write. Or at least the HAL, as that would make it not economical to develop against. And by peripherals, I mean the peripherals built in to this SoC, not on an external board, to be clear - like its USB 2.0 Host/Device capabilities, it's I2S, SPI, and I2C capabilities etc. Is this even realistic?

                                    To err is human. Fortune favors the monsters.

                                    C 1 Reply Last reply
                                    0
                                    • H honey the codewitch

                                      My little consortium of embedded developers is looking to move our offerings over to the ARM Cortex M line of processors. One of the big primary drivers of this, is lack of availability of LCD displays for the more hobbyist/Arduino type end of things. The first issue we've had is an utter lack of toolchain, bootloader firmware, HAL code, or really anything to get us going starting with a bare metal chip. I discovered keil.com which can potentially get us over that hump, if we can afford it. I'm always a little anxious when getting a price requires a quote. Waiting to hear from them, but I also am still out of my depth. I know there are some embedded developers here. I'm not afraid of failure, and I'm not afraid to get my hands dirty. Any advice as far as this move goes would be appreciated. It's definitely the deep end of the pool for me.

                                      To err is human. Fortune favors the monsters.

                                      T Offline
                                      T Offline
                                      trønderen
                                      wrote on last edited by
                                      #22

                                      I don't see anyone mentioning Zephyr yet (Zephyr Project[^]). As as development environment it certainly is far less complete than Visual Studio, but reasonably well adapted to standard Linux element from which you can compose your setup. (As always under Linux :-)) Zephyr is most certainly an IoT- and SoC-oriented OS, not requiring you to carry a ton of general-purpose Linux stuff that you don't need, yet providing a very Linux-like interface for the stuff you really make use of. And it is free and open-source.

                                      H 1 Reply Last reply
                                      0
                                      • T trønderen

                                        I don't see anyone mentioning Zephyr yet (Zephyr Project[^]). As as development environment it certainly is far less complete than Visual Studio, but reasonably well adapted to standard Linux element from which you can compose your setup. (As always under Linux :-)) Zephyr is most certainly an IoT- and SoC-oriented OS, not requiring you to carry a ton of general-purpose Linux stuff that you don't need, yet providing a very Linux-like interface for the stuff you really make use of. And it is free and open-source.

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

                                        Absolutely I'd expect Zephyr, FreeRTOS, or some other realtime OS to be present if the thing has multiple cores, or potentially multiple filesystem mount points (SDMMC/Flash/etc), and is commonly present on gadgets like this. Unfortunately it's not the last mile I'd need. For Zephyr to work for a particular chip it needs to be ported to it. For example, there is a Zephyr port to the ESP32 SoC/MCU: Zephyr RTOS on ESP32 - Zephyr Project[^] I'd need one for any particular ARM chip I was using. Zephyr would save me time vs going from scratch, but I don't want to be in the market of making HAL layers for devices so an RTOS can run on them. I'm hoping I can find that effort already made.

                                        To err is human. Fortune favors the monsters.

                                        A T 2 Replies Last reply
                                        0
                                        • H honey the codewitch

                                          I may be misunderstanding something significant. The peripherals I'm referring to are part of the SoC. You're saying those are manufacturer specific? I guess that would make sense. Hmmmm. Let me ask a stupid question since you clearly have forgotten more about this than I've hope to learn in the time I have to learn it: (By which I mean relative to you I am an utter idiot about all this. I never went to school for it or anything) If I order this. https://www.digikey.com/en/products/detail/nxp-usa-inc/MIMXRT1062DVJ6B/13574426[^] (- In theory anyway. It isn't in stock, which is actually part of my problem - I'll explain) Where do I go to get anything beyond a datasheet and maybe a hardware manual to tell me what registers to use? I find it hard to believe that there aren't HAL packages and such available for an SOC like this. Are you saying I'd get it (in this case, from NXP?) I haven't seen much from NXP for this at their site, but I didn't think to look that hard either. As far as my problem: I want to use these ARMs primarily to expand my display options, but also to take advantage some more modern features than I can get on say, ESP32 nonsense. I actually have a bootloader and a HAL for the chip I linked to (assuming I bookmarked the right one, I'd have to look to be 100% sure) but it's provided by PJRC via their Teensy 4.1 kit, and it's specific to that chip. Here's what I want to be able to do. When I'm approached with a project, I want to match requirements with an ARM chip, and then find one I can integrate, with a HAL layer and bootloader I don't have to write. Or at least the HAL, as that would make it not economical to develop against. And by peripherals, I mean the peripherals built in to this SoC, not on an external board, to be clear - like its USB 2.0 Host/Device capabilities, it's I2S, SPI, and I2C capabilities etc. Is this even realistic?

                                          To err is human. Fortune favors the monsters.

                                          C Offline
                                          C Offline
                                          CPallini
                                          wrote on last edited by
                                          #24

                                          I am not that expert. My targets are much simpler (M0 and M3). Anyway, I think having the Teensy is a big starting point: you have a hardware reference design as well the libraries (I believe the chip on the their board is NXP, not theirs, so the software should work on your hardware). I see NXP provides its MCUXpresso SDK (which, strangley enough, relies on 'Arm GCC') you may have a look at it.

                                          "In testa che avete, Signor di Ceprano?" -- Rigoletto

                                          H 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