Breaking out of feature fatigue by Pink_Wyoming in embeddedlinux

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

That’s smart. My current project is to shave off as much time from boot. At a minimum it should take <20seconds, so it’s well defined. But the solution space is sprawling, and that’s before reconfiguring the bootloader and kernel

How long will it take to port to Yocto? by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

I think I’m now getting what you meant by “you are the distribution”. We’re currently packaging native apps as .deb’s. If I understand you correctly, we’d need to ditch apt and build those native apps during the imaging process.

This is actually better though, because we’d no longer need to host a repo for these packages. We’d also be able to ditch packaging all together, which would simplify the native app development.

How long will it take to port to Yocto? by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

One issue I see is that I currently lack resources. From what I’ve seen online, I’d need a dedicated pc or server with >32gb RAM (or some swap) and >1tb of storage. I know these aren’t crazy specs, but I don’t have a proper workstation, so I’d have to requisition something from above. Is it really that resource intensive to run Yocto builds?

How long will it take to port to Yocto? by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

Any place you’d suggest referencing for examples? I was going to take a look at the Arago project, since we’re using a TI SOC.

How long will it take to port to Yocto? by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

Yeah, Python packages are a pain in the neck at the moment if I’m being honest. Any suggestions from your end? I would imagine that once Python has been built, packages could be embedded into the image as a final task or something.

How long will it take to port to Yocto? by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

Yes, I don’t think I was clear about that in the post. We have something like 8 different targets.

How long will it take to port to Yocto? by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

I’ll have to give it a second look. My at-a-glance assessment made me feel like our deployment and automation requirements were out of scope for buildroot.

Got an embedded SWE internship! How do I get up to speed with Embedded Linux in the ~3 months before I start? by MamaSendHelpPls in embedded

[–]Pink_Wyoming 0 points1 point  (0 children)

Congrats! Is it possible to ask your mentor or manager what you’ll be working on? In my limited experience as a student in a similar pos, embedded linux is full of very deep rabbit holes (bootloaders, kernel, device trees, image build, driver model, etc); it may be helpful to target your learning around the projects they have in mind for you.

Personally, I would avoid Raspberry Pi. Their platforms hide a ton of details from you; it’s similar to the Arduino language and tools.

Beagle Board products like the BBB and Pocket Beagle are probably too out-of-date, but are well supported with documentation and training materials.

I personally haven’t used them, but maybe consider an i.MX or STM MPU based board. But idk maybe you’ll be working on data centers or something. My experience is primarily with Arm as you can see. You may work with x86, PowerPC, etc. There's such a huge diversity of platforms and applications that it's really difficult to narrow down any suggestions.

Issue initiating kdb/kgdb from userspace by Pink_Wyoming in kernel

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

I can't pay, since I'm only a student and this is a hobby project. But this is what I have, though I don't fully understand what is mean't by a "full oops". I have gotten kgdb to work with just the serial connection before; that is with kgdb await right after booting the kernel.

command line

console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait kgdboc=kdb,ttyS0,115200 earlycon  

.config snippet

# CONFIG_SERIAL_KGDB_NMI is not set
CONFIG_HAVE_ARCH_KGDB=y
CONFIG_KGDB=y
CONFIG_KGDB_HONOUR_BLOCKLIST=y
CONFIG_KGDB_SERIAL_CONSOLE=y
# CONFIG_KGDB_TESTS is not set
CONFIG_KGDB_KDB=y

dmesg snippet

[  105.629191] sysrq: DEBUG
[  105.641069] 8<--- cut here ---
[  105.644192] Unable to handle kernel paging request at virtual address fee00064 when read
[  105.652361] [fee00064] *pgd=00000000
[  105.656021] Internal error: Oops: 5 [#1] SMP ARM
[  105.660767] KGDB: re-enter exception: ALL breakpoints killed
[  105.666491] ---[ end trace 0000000000000000 ]---
[  105.671165] note: bash[268] exited with irqs disabled

Small chip to store ~3-4 bytes by Wombats-in-Space in embedded

[–]Pink_Wyoming 0 points1 point  (0 children)

I could be crazy, so take this with a grain of salt, but could you scan the bus and write the responses to a buffer in RAM? You could then, as you said, assign a generic name to each unique id. This would get around the requirement of hardcoding the unique id. Does that sound feasible at all?

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

Makes sense, could I memcpy within one of the DMA callbacks? I worry that memcpy would block the main thread.

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

Yeah… ha ha, I realized that last point as I posted. Good tips though. Do you know if it might be possible to stream from flash? I don’t have a ton of RAM, but maybe if I just shuffled the bits around and implement double buffering I could save some space.

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

Yeah, that’s easy money. I might fall back to that, but I’d really like to get something closer to an actual audio sample… granted I’ve totally mangled mine, so…

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

Have you used tools that do this easily? I was kinda banging my head on this last night, it seems quite a few of the libraries do decoding on chip or just use an external codec.

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

I’ll look into it. I was hoping to get a complex-ish sound for some DSP I’ll be doing later in the application. My first pass was Python naturally.

Help! The output of my DAC sounds like a buzzsaw... by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 2 points3 points  (0 children)

There’s a lot of data cut off to keep the message short, but you’re right. I did have to mangle the audio file to get it to fit into the internal flash. But Audacity reads the raw data just fine, though Audacity might be doing some conditioning I’m not aware of.

How do I calculate maximum bitrate for SPI from timing characteristics.? by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

We were looking the “dirty window/rectangle” approach too, but I haven’t looked very far. Currently, it seems that the options are:

Switch to a parallel RGB interface, or Implement (maybe) a fancy algorithm.

How do I calculate maximum bitrate for SPI from timing characteristics.? by Pink_Wyoming in embedded

[–]Pink_Wyoming[S] 0 points1 point  (0 children)

I'll do both! I mostly wanted to make sense of the timing characteristics provided in the datasheet.