[HN Gopher] So you want to build an embedded Linux system?
___________________________________________________________________
So you want to build an embedded Linux system?
Author : sebg
Score : 131 points
Date : 2022-02-09 14:55 UTC (8 hours ago)
(HTM) web link (jaycarlson.net)
(TXT) w3m dump (jaycarlson.net)
| blueflow wrote:
| I have issues with the section "Microcontroller vs
| Microprocessor: Differences"
|
| Microprocessors are just the CPU, usually with the system bus
| wired out. Microcontrollers are combined systems, which include a
| processor and usually some kind of firmware storage and RAM. You
| can usually differentiate them by whether their pins are
| address/data lines or gpio-like.
|
| > microprocessors have a memory management unit
|
| The 8086 didn't. Having an MMU seems unrelated to the MCU/MPU
| distinction...
|
| At least, this was my knowledge until now. Is this like "crypto"
| where the meaning changed while i was not paying attention?
| Terry_Roll wrote:
| There is no global standard of definitions, what you might be
| seeing is the difference in the educational system in different
| parts of the world.
|
| We know definitions change over time because slang words come
| and go and someone's vocabulary can be used to identify people
| online or identify their knowledge.
| blueflow wrote:
| Whatever, but if someone of the "Distinction Criteria is
| existence of MMU" crowd comes and claims the 8086 is not a
| microprocessor, because it doesn't have an MMU (which would
| be a logical conclusion from the article). i'll probably not
| be respectful.
| seniorivn wrote:
| a lot of people have been calling desktop computers
| "processors", does it mean that the meaning of the word has
| changed?
| blueflow wrote:
| because thats correct for most x86-compatible computers, x86
| is or was the dominant desktop architecture.
| foxfluff wrote:
| It's a pointless distinction by and large.
|
| Microcontrollers may or may not have storage for firmware.
| Requiring an off-chip flash is nothing new. Microcontrollers
| have SRAM, but so do processors. That's where the firmware runs
| before it gets the DRAM running. Microcontrollers may include a
| bunch of peripherals, but so do processors. Especially so if
| you refer to SoCs as processors, like the article here does.
| And SoCs stir it up further: they have tons of peripherals, and
| we also have SoCs with on-package DRAM. Discrete SRAM chips
| exist too, I figured there must be microcontrollers that can
| use them (but I haven't actually looked).
|
| Yes, the terminology has evolved.
| blueflow wrote:
| The distinction used to be "Whether the bus is exposed
| externally".
|
| > Microcontrollers have SRAM, but so do processors. That's
| where the firmware runs before it gets the DRAM running.
|
| Which microprocessor architecture does this?
| joezydeco wrote:
| NXP LPC is a big one. Most of the families have an external
| memory controller (EMC) block that can drive an external
| DRAM at a small multiple of the system clock frequency. The
| EMC init happens in the secondary boot, usually loaded from
| the small on-board flash or an offboard EEPROM.
|
| I regularly use the 1788 + a meg or two of DRAM to hold an
| LCD framebuffer. The LPC has a really nice interconnect
| between EMC and the internal LCD controller block and will
| drive the display all on its own (with a hardware cursor)
| once it is initialized.
| blueflow wrote:
| Duckduckgo, "NXP LPC", sidebar, quote from wikipedia:
|
| > LPC is a family of 32-bit microcontroller integrated
| circuits by NXP Semiconductors.
|
| Not a microprocessor. You are the second guy to pull this
| on me. Do people even read what i write? Did i write
| unclearly?
| joezydeco wrote:
| Perhaps you're just outdated. Nobody ships a core alone
| on a chip anymore. That died with the 68000 or ARM7TDMI.
| blueflow wrote:
| x86 is a classic microprocessor architecture. I'm
| confident it is not outdated yet, as im using a fairly
| modern x86 desktop right now at the moment. RAM and
| chipset are separate from the processor.
| detaro wrote:
| > _x86 desktop right now at the moment. RAM and chipset_
|
| "chipset" is very different than a traditional
| microprocessor chipset though on that. E.g. you don't
| have an exposed system bus outside the CPU, but rather
| specialized interfaces. (And ARM systems have evolved the
| same way over their history)
| blueflow wrote:
| What about the slots i plug my RAM sticks into? Do they
| not count because it goes over the north bridge?
| joezydeco wrote:
| Then maybe the hackers using x86 boards in their
| 'embedded Linux systems' can chime in.
| blueflow wrote:
| Perfect, as i own a RDC 3210 board. Here is someone else
| with the same board + pictures:
| https://forum.archive.openwrt.org/viewtopic.php?id=19168
|
| It has a x86 Microprocessor architecture, but it is not
| IBM PC compatible because it does not has an BIOS,
| instead using a more embedded-style RedBoot setup.
|
| Maybe you should do a quick web search before talking
| shit.
| AlotOfReading wrote:
| Most of them? Pretty much every ARM board supports an SRAM
| boot stage, for example. If you're using U-Boot, it's
| pretty likely that there's a SPL running out of SRAM
| somewhere in there.
| blueflow wrote:
| ARM is a microcontroller architecture.
| AlotOfReading wrote:
| 1) This is a distinction without a difference.
|
| 2) SRAM is almost always _on the die_ , not external.
| Here's a die shot of a random STM32 (cortex M): [1]. The
| SRAM is quite obvious.
|
| [1] https://s.zeptobars.com/GD32F103CBT6-Si-HD.jpg
| blueflow wrote:
| It is a meaningful distinction. A microprocessor
| architecture would require support chips, like a south-
| and north bridge, plus RAM in additional chips.
|
| x86 being the classic example. Here [1] is an example of
| a microprocessor board, you can see the MX support chips
| on both sides of the CPU. As you can see, the RAM (and
| the most of the address space-mapped things) is not on-
| chip. The bus is wired across the PCB.
|
| [1] https://upload.wikimedia.org/wikipedia/commons/d/de/3
| 86DX40_...
| [deleted]
| AlotOfReading wrote:
| Even x86 has on-die SRAM that can be used in boot. It's
| better known as L1, L2, and L3, but you can configure
| Intel's FSP to make it usable for boot code with the so-
| called cache-as-RAM feature. The technical details are
| different than e.g. ARM because it's cache rather than
| properly addressable memory, but the general idea is the
| same.
|
| All the RAM you see on the motherboard is _DRAM_. It 's a
| totally separate thing and happens to be what the FSP
| initializes after it loads stuff into SRAM.
| R0b0t1 wrote:
| These words are used interchangeably, you need to specify
| exactly. The main distinction is does it have a MMU or
| not.
| blueflow wrote:
| "VPN" evolved to mean proxying service, now people are
| denying that my tinc setup is a VPN.
|
| "Emulation" evolved to mean virtual machine, now people
| are denying that wine or xterm are emulators.
|
| "Operating System" evolved to require virtual memory and
| paging, now people are denying that MS-DOS was an
| operating system.
|
| "Microprocessor" evolved to mean computing chips with
| MMU, im waiting for people to deny that the 8086 was an
| microprocessor because it does not have an MMU.
|
| The infinite shitcycle of people improvising language
| instead of researching.
| anthk wrote:
| Wine is not an emulator, it's a PE loader and a Win32 API
| for Unix. And XTerm is more like a terminal _simulator_.
| blueflow wrote:
| Wine actually IS an emulator, just not the kind of
| emulator you think of. While wine is not an virtual
| machine, it literally emulates the win32 api.
|
| https://web.archive.org/web/20150928042254/http://wiki.wi
| neh...
|
| I mentioned the shift of meaning to "virtual machine" in
| the post you replied to, please read it more carefully.
|
| Emulation and Simulation are different in some regard:
| emulation is only imitating some aspect of a thing, while
| simulation imitates a thing by using (usually physical)
| models.
|
| xterm is a VTxxx emulator, and VT simulator does look
| like this: https://www.pcjs.org/machines/dec/vt100/
| monocasa wrote:
| I'd argue that wine is a bit of a stretch considering
| that we're on the third implemention of win32 in
| Microsoft land as well (DOS/win32s, Win95, NT/Win32k). At
| that point win32 is a concept already abstracted away
| from a specific implementation
|
| I totally agree with your main point though that
| emulation is a broader topic than is generally thought.
| monocasa wrote:
| Just about any with cache will let you pin last level cache
| to assist boot up.
|
| I've done this with PowerPC cores that no one would call
| microcontrollers.
| thrashh wrote:
| It's such a blurry line now because with so many vendors, you
| can find everything on a spectrum these days
| lsllc wrote:
| I'm curious how the landscape has changed with the chip shortages
| since this was written.
|
| My all time favorite SoM was the CHIP Pro, but sadly at $7 (or
| was it $13?) it was indeed too good to be true and the company
| went out of business.
| joezydeco wrote:
| Do you mean: have new readily-available parts been introduced
| in the wake of the current supply shortages? The answer is no.
| bigiain wrote:
| I have a pile of them in my drawer, as many as I could get my
| hands on (maybe 8 or 12?)
|
| They're great. In my head they were "something that had the
| stuff that annoyed me about RaspberryPis fixed".
|
| I should dig some out and see if there's a way to update the OS
| to something recent-ish.
|
| I think I've still got a cluster of 4 of them, 3 running RTL
| SDR and one analysing the signals and pulling interesting data
| out. (Last data file I have here from that is Dec 2018...)
| shaicoleman wrote:
| (Oct 2020)
| anthk wrote:
| >. In Linux, you get a first-class network stack, plus tons of
| rock-solid userspace libraries that sit on top of that stack and
| provide application-level network connectivity.
|
| JimTCL is very fun for that, and it would run on limited
| machines.
|
| Ok, not totally TCL compatible, and no TK, but you have (WIP)
| SDL2 bindings, and SDL2 would work perfectly on a display handled
| by fbdev/KMS.
|
| > but blending and other advanced 2D graphics technology can
| really bog things down
|
| SDL2 can be really fast at low res displays such as 320x240. If
| not, EFL from Enlightenment for sure could that fast enough.
| gaze wrote:
| EFL should never be recommended as a serious option.
| pjmlp wrote:
| Depends, maybe when the recommender is serious about being
| exploited. /s
| nickysielicki wrote:
| Previous thread, 2020:
| https://news.ycombinator.com/item?id=24800037
|
| This article is awesome and has a ton of great knowledge, but
| it's a little dismissive of openembedded, and if you click
| through to the previous thread you'll see a lot of people come to
| it's defense.
| pmorici wrote:
| The authors description of the two has been consistent with my
| experience. Buildroot is a lot easier to get going with. There
| might be good reasons to use yacto but if you are new to all
| this I wouldn't start their.
| [deleted]
___________________________________________________________________
(page generated 2022-02-09 23:00 UTC)