Language Selection

English French German Italian Portuguese Spanish

ARM32 in Linux and Open Source Hardware Certification

Filed under
Linux
Hardware

  • ARM32 Page Tables

    As I continue to describe in different postings how the ARM32 start-up sequence works, it becomes necessary to explain in-depth the basic kernel concepts around page tables and how it is implemented on ARM32 platforms.

    To understand the paging setup, we need to repeat and extend some Linux paging lingo. Some good background is to read Mel Gormans description of the Linux page tables from his book “Understanding the Linux Virtual Memory Manager”. This book was published in 2007 and is based on Mel’s PhD thesis from 2003. Some stuff has happened in the 13 years since then, but the basics still hold. It is necessary to also understand the new layers in the page tables such as the five layers of page tables currently used in the Linux kernel.

    First a primer: the ARM32 architecture with a classic MMU has 2 levels of page tables and the more recent LPAE (Large Physical Address Extension) MMU has 3 levels of page tables.

    Only some of the ARMv7 architectures have LPAE, and it is only conditionally enabled, i.e. the machines can also use the classic MMU if they want, they have both. It is not enabled by default on the multi_v7 configuration: your machine has to explicitly turn it on during compilation. The layout is so different that the same binary image can never support both classic and LPAE MMU in the same kernel image.

  • Announcing the Open Source Hardware Certification API – Open Source Hardware Association

    Today we are excited to announce the launch of a read/write API for our Open Source Hardware Certification program. This API will make it easier to apply for certification directly from where you already document your hardware, as well as empower research, visualizations, and explorations of currently certified hardware.

    OSHWA’s Open Source Hardware Certification program has long been an easy way for creators and users alike to identify hardware that complies with the community definition of open source hardware. Since its creation in 2016, this free program has certified hardware from over 45 countries on every continent except Antarctica. Whenever you see the certification logo on hardware:

More in Tux Machines

Devices/Embedded: Raspberry Pi, Jetson Nano and STMicroelectronics/FreeRTOS

  • World’s first fingerprint sensor HAT uses capacitive scanning

    SB Components has won Kickstarter funding for a $60 “PiFinger” HAT for the Raspberry Pi featuring a 2D capacitive fingerprint sensor with 176 x 176 resolution that can detect, compare and register up to 24 fingerprints. UK-based SB Components, which has delivered ambitious, Raspberry Pi based products such as its PiTalk phone, LapPi laptop, and PiArm robotic arm, has weighed in with what it calls the world’s first fingerprint sensor HAT. The open source, $60 PiFinger has won Kickstarter funding and will ship in February.

  • 5 Best Raspberry Pi Alternatives to Run Linux On – buying guide [Ed: This list itself might be OK, but all the links are referrer spam and should be disregarded]
  • Spread the joy of learning through making
  • Designing the Raspberry Pi Case Fan
  • Compact Jetson Xavier NX/ Nano open hardware baseboard supports Android

    When it comes to NVIDIA Jetson family of modules, we should understand that NVIDIA Jetson Nano is for makers and STEM education, while Xavier NX is more geared towards professional and commercial use. The compute module Xavier NX was announced before the development kit, which includes the module and reference carrier board and otherwise for NVIDIA Jetson Nano. There are some third-party carrier boards & edge computers available for Jetson Xavier NX and Jetson Nano, including DesignCore Carrier Board and Diamond FLOYD Carrier Board. Antmicro, a custom hardware, software, and AI engineering company, came up with a compact open hardware device: Jetson Nano/ Xavier NX baseboard. It supports both NVIDIA Jetson Nano SoM as well as the Xavier NX SoM.

  • ST adds FreeRTOS thread-aware debug for microcontrollers

    STMicroelectronics has added support for FreeRTOS thread-aware debug to its STM32CubeIDE development environment, completing its acquisition of the Atollic tools. ST has completed transferring major advanced features of Atollic TrueStudio for STM32 into STM32CubeIDE after acquiring Atollic in 2017. STM32CubeIDE with support for thread-aware debug of the open source FreeRTOS real time operating system further extends the tool’s features. FreeRTOS is now supported by Amazon as AmazonFreeRTOS for the AWS cloud service. The direct access to STM32CubeMX configuration functions simplifies project setup, selecting a target microcontroller from the complete STM32 portfolio, configuring GPIOs, clock tree, peripherals, and pin assignments. The tool allows developers to quickly analyse power consumption depending on the applications usage, as well as select middleware stacks and generate initialization code for the desired configuration.

Open Hardware: Arduino and 64-bit RISC-V

  • Arduino Blog » RobotSculptor uses a six-axis robot arm to sculpt clay models

    Robotic fabrication techniques such as 3D printing enable you to make a copy of a wide variety of items. Actually sculpting something out of clay, however, remains a largely human pursuit. One might also miss the individual style of a sculptor in a finished product. RobotSculptor, developed by a team of engineers from ETH Zurich and Disney Research, attempts to address both challenges. The system generates toolpaths from a base mesh design and allows artistic input via mouse strokes during the process. A six-axis robot arm then incrementally removes clay from the model-in-progress, using a custom loop tool.

  • 64-bit RISC-V core claims 10x better CoreMarks/Watt compared to other 3-5GHz CPUs

    Micro Magic unveiled an up to 64-bit RISC-V core showing a groundbreaking 110,000 CoreMarks/Watt, with a 3GHz chip consuming less than 70mW. The company claims 10 times better CoreMarks/Watt compared to other processors in the 3-5GHz range. Considering the spectacular promise and sudden demise of AI tech firm Magic AI, we should perhaps be wary of hyped up companies with Magic in their name. Yet, the astonishing claims about an incredibly efficient RISC-V core coming out of Sunnyvale, Calif. based EDA firm Micro Magic in recent weeks appear to be for real.

  • Arduino Blog » A (very) short guide to help you transition to the Arduino Science Journal

    Arduino acquired the Science Journal app from Google on August 5th, and the final handover takes place on December 11th, 2020. From that date, the Science Journal will no longer be supported by Google. If you haven’t exported your experiments and imported them into the Arduino Science Journal, we strongly encourage you to do so now, as your data will no longer sync with Google Science Journal after that date. [...] While we can’t disclose too much about our future plans for the app, we can tell you that we’ll ensure it will offer easy access to a stream of data that leverages your smartphone sensors, as well as Arduino sensors. The aim is to help learners understand the importance of an inquiry-based educational method rather than passive consumption of information. We’ll also continuously improve the accessibility of the app for all users, and find new ways of experimenting with science. In the near future, we’ll be interacting more with users, so you’ll hear more from us soon! We’ll also be adding more tutorials on our platform dedicated to Science Journal!

Mozilla: WebThings Gateway 1.0, Lobbying and Rust

  • Flying the Nest: WebThings Gateway 1.0 - Mozilla Hacks - the Web developer blog

    After four years of incubation at Mozilla, we are excited to announce the release of WebThings Gateway 1.0 and a new home for the WebThings platform.

  • Mozilla reacts to publication of the EU Democracy Action Plan - Open Policy & Advocacy

    The European Commission has just published its new EU Democracy Action Plan (EDAP). This is an important step forward in the efforts to better protect democracy in the digital age, and we’re happy to see the Commission take onboard many of our recommendations. [...] As a founding signatory to the EU Code of Practice on Disinformation we are encouraged that the Commission has adopted many of our recommendations for how the Code can be enhanced, particularly with respect to its implementation and its role within a more general EU policy approach to platform responsibility.

  • This Week in Rust 367
  • Philip Chimento: Advent of Rust

    I have a bit of time off and I decided to participate in Advent of Code 2020 after my coworker Adrián shared a link to it. I’ve heard that people use challenges like these as an excuse to learn a new programming language, and I have wanted to learn Rust for quite a long time now. Why Rust? From what I’ve heard, it’s a programming language oriented towards high performance and systems programming, like C or C++; but unlike those languages, it was designed in such a way to make it difficult or impossible to make mistakes such as buffer overflows or memory leaks. I have heard that it’s a lot more enjoyable to use than C++ as well. I did write a “Hello World” program in Rust some time ago, and I have heard things about Rust from others, so I wouldn’t be coming to it completely fresh. Nonetheless, fresh enough that I decided that the experience of writing something from scratch, in a new programming language, was unusual enough for me that I would keep a log while I was doing it. So here is that log. It’s a bit stream-of-consciousness. I’ve edited it so that it consists of complete sentences instead of just notes, but I’ve left in the mistakes and dead ends. I made this mainly so that I can look back later when I’ve learned more, and see what mistakes I made.

Programming/Development Leftovers

  • 6 Essential Python Tools for Data Science

    Data science is an emerging, multidisciplinary field of scientific methods, processes, algorithm development and technology to extract knowledge or insights in ingenious ways from structured or unstructured data. At the heart of data science is data. Buckets loads of it, streaming in and stored in enterprise data warehouses. According to IBM, globally, we currently generate over 2.5 quintillion bytes of data every single day.

  • Day 3: Literate Programming with Raku – Raku Advent Calendar

    Different programming language communities have differing cultures. Some are more pragmatic, others more idealistic. Some place great emphasis on having code be thoroughly readable and understandable for anyone who joins an existing project, and some prefer writing out clear and in-depth documentation. Raku, inheriting one of the best parts of Perl, has a community that writes great documentation.

  • C++20 Is Still Settling While LLVM Clang Already Adds Option For Starting C++2b/C++23 - Phoronix

    It was just in September that the C++20 standards draft was approved as a major update to the programming language over C++17. While compilers like GCC and LLVM Clang are still completing all of the changes for C++20 support, Clang is already moving ahead and has added support for the "-std=c++2b" option as it begins the endeavor of staging changes likely for C++23. Clang currently implements much of C++20 but some items around concepts remain along with work on modules, and other smaller features as outlined via the Clang C++ status page.

  • plocate 1.1.0 released

    I've released version 1.1.0 of plocate. The major new feature is that it now ships its own updatedb; I imported a fair amount of code from mlocate's updatedb (which makes the updatedb implementation GPLv2, unlike the rest of plocate, which is GPLv2+), reworked it heavily and made it read and write plocate databases. The databases need a little extra data, which increases their size by 1% or so, but that's well worth it, because now no longer need the mlocate database; those are typically more than twice the size of plocate's database. Obviously, this also removes the dependency on mlocate.

  • Get the most out of the Vi text editor

    Whether you know it as Vim, Neovim, gVim, nvi, or even Elvis, the quintessential Unix editor is easily Vi. Included in probably every Linux and BSD distribution, Vi is a lightweight and minimalist text editor that many users love for its simple and succinct keyboard shortcuts and dual-mode design. The original Vi editor was an application written by Bill Joy, creator of the C shell. Modern incarnations of Vi have added many features, including multiple levels of undo, better navigation while in insert mode, line folding, syntax highlighting, plugin support, and much more. Vim is regarded as the most popular modern implementation, and most people actually mean Vim when they refer to Vi. All incarnations hearken back to the same goal, though, so this article looks at Vi in a generic sense. The implementation on your computer may differ slightly, but you can still benefit from editing text the Vi way.

  • Jonathan Dowland: OpenJDK Author

    I have recently become an OpenJDK Author. Practically this means I can query the Java Bug Database directly, and I can author Mercurial for committing to the relevant OpenJDK project myself, rather than needing sponsors in both cases.

  • RcppTOML 0.1.7: Support for g++-11, Minor Updates

    TOML is a file format that is most suitable for configurations, as it is meant to be edited by humans but read by computers. It emphasizes strong readability for humans while at the same time supporting strong typing as well as immediate and clear error reports. On small typos you get parse errors, rather than silently corrupted garbage. Much preferable to any and all of XML, JSON or YAML – though sadly these may be too ubiquitous now. TOML has been making inroads with projects such as the Hugo static blog compiler, or the Cargo system of Crates (aka “packages”) for the Rust language.

  • CMake: Use new style imported targets to link libraries
  • Still on Github

    But for the people who don’t agree with me and think Free Software needs free tools – I say awesome. I am very glad you exist, and really there’s about 20% of me that also agrees. That part of me is happy when I come across projects hosted in e.g. Gitlab.com at least. It’s obviously good for there to be some diversity and competition, beyond the fact that Gitlab is at least at the core FOSS. I also hope at some point somehow pagure’s model of storing issues and PR comments in Git takes off too. Or maybe it’ll be something like Radicle.