Live data from Hacker News

So you want to build an embedded Linux system? (2020)

jaycarlson.net

51–60 of 80 posts

Re: So you want to build an embedded Linux system? (2020)

#51

Earlier quoted context omitted.

> The distinction used to be "Whether the bus is exposed externally". Which bus is "the bus"? SoCs and microcontrollers alike expose a bunch of different buses.

https://en.wikipedia.org/wiki/System_bus I'm assuming Naumann arch, with instructions and data on a single bus.

Ok, right, that really has a legacy smell to it. If you can find the pinout for a modern Intel CPU, it has dedicated pins from DRAM controller to the DDR. It's not on some external "all-purpose" bus. Whatever bus you might have is internal to the CPU. Same thing on any modern ARM SoC with DDR support.

Re: So you want to build an embedded Linux system? (2020)

#52

Earlier quoted context omitted.

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.

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.

Well these are a couple of online definitions: MicroController - a control device which incorporates a microprocessor. MicroProcessor - an integrated circuit that contains all the functions of a central processing unit of a computer.

The problem with these definitions is a control device and computer are two different things, so I wonder if he is applying an engineer's perspective/definition to the 8086 even though many know the 8086 were used in the early computers. This is a bit like arguing whether a microprocessor is a microprocessor because of the inclusion or exclusion of one or more instruction sets, ie a basic intel cpu with a minimum instruction set or a xeon intel cpu with a much more extensive number of instruction sets.

Or are you picking up on an AI masquerading as a blogger and have highlighted something an AI wouldnt pick up on from online technical resources?

Re: So you want to build an embedded Linux system? (2020)

#53

Earlier quoted context omitted.

https://en.wikipedia.org/wiki/System_bus I'm assuming Naumann arch, with instructions and data on a single bus.

Ok, right, that really has a legacy smell to it. If you can find the pinout for a modern Intel CPU, it has dedicated pins from DRAM controller to the DDR. It's not on some external "all-purpose" bus. Whatever bus you might have is internal to the CPU. Same thing on any modern ARM SoC with DDR support.

Even if you dont work with it anymore and call it legacy, its still a real thing, and its a bad idea to re-use the word to mean something else.

Re: So you want to build an embedded Linux system? (2020)

#54
post #25

Earlier quoted context omitted.

Wine is not an emulator, it's a PE loader and a Win32 API for Unix. And XTerm is more like a terminal simulator .

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.wineh... 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…

Then Windows NT is emulating Win32.

Also, back in the day emulators emulated the CPU for sure, while an API implementation wasn't never called "emulation". Ever.

Re: So you want to build an embedded Linux system? (2020)

#55

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.

> but it’s a little dismissive of openembedded

I don't really see it in the article.

I use OpenEmbedded for my projects, but I never recommend it to beginners as the place to start. Buildroot is unquestionably easier to get started with and use for one-off projects (unless you're trying to use vendor-provided Yocto/OE layers, in which case obviously it's not an option).

The article's conclusion about Yocto is spot-on, in my opinion: If you're quickly iterating, Buildroot is the way to go.

Re: So you want to build an embedded Linux system? (2020)

#56

Earlier quoted context omitted.

Ok, right, that really has a legacy smell to it. If you can find the pinout for a modern Intel CPU, it has dedicated pins from DRAM controller to the DDR. It's not on some external "all-purpose" bus. Whatever bus you might have is internal to the CPU. Same thing on any modern ARM SoC with DDR support.

Even if you dont work with it anymore and call it legacy, its still a real thing, and its a bad idea to re-use the word to mean something else.

The question is then, should we start calling modern Intel CPUs microcontrollers? That's bound to cause even more confusion.

If anything, the things people today refer to as microcontrollers have more to do with your legacy microprocessor than they have with a high end CPU or SoC.

What's the right term to use?

Re: So you want to build an embedded Linux system? (2020)

#57
post #5

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.

Most of the SoCs in the article were already several years old when it was written. The article focuses on parts that are (relatively speaking) easily solderable by hand. Most new SoCs focus on small size and will come in 0.5mm pitch BGA packages or smaller, where PCBs start becoming sharply more expensive and placement requires a decent amount of skill.

> 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.

The CHIP was just a cheap board based on the Allwinner R8, which is basically an Allwinner A13, which is in the same product family as the Allwinner A33 in the article.

There are actually a lot of cheap SBCs based on the cheap Allwinner parts out there. The CHIP had great execution and some novel in-browser upgrade features, but I don't know how they planned to make money by selling things basically at cost. Apparently they didn't have any idea either, because they spontaneously went out of business and disappeared.

Re: So you want to build an embedded Linux system? (2020)

#58
post #5

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.

Most of the SoCs in the article were already several years old when it was written. The article focuses on parts that are (relatively speaking) easily solderable by hand. Most new SoCs focus on small size and will come in 0.5mm pitch BGA packages or smaller, where PCBs start becoming sharply more expensive and placement requires a decent amount of skill. > My all time favorite SoM was the CHIP Pro, but sadly at $7 (o…

Wasnt CHIP run only to take Chinese development funds, thus selling at cost wasnt a problem for them.

Re: So you want to build an embedded Linux system? (2020)

#59
post #50

Earlier quoted context omitted.

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?

Modern x86 does this. The BIOS starts running on the x86's internal SRAM. https://stackoverflow.com/questions/63159663/how-does-bios-i...

Not exactly. Cache as Ram is used for stack/temp storage until proper ram is initialized. Code itself runs from flash until optional bios caching is turned on in the chipset.

Re: So you want to build an embedded Linux system? (2020)

#60

Earlier quoted context omitted.

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 SoC…

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?

> Which microprocessor architecture does this?

All of them. They have to. Sometimes the trick is using cache as RAM. Some Intel CPUs do early memory init this way, for example.

You need some memory somewhere to run the complex DRAM init procedure.

Post reply on HN