U-Boot, a boot loader for Embedded boards based on PowerPC, ARM, MIPS and several other processors, which can be installed in a boot ROM and used to initialize and test the hardware or to download and run application
code.
U-Boot, a boot loader for Embedded boards based on PowerPC, ARM, MIPS and several other processors, which can be installed in a boot ROM and used to initialize and test the hardware or to download and run application
code.
Have a quick overview of most of the embedded linux components and their details. How ti build Embedded Linux Hardware & Software, and developing Embedded Products
Linux Kernel Booting Process (1) - For NLKBshimosawa
Describes the bootstrapping part in Linux and some related technologies.
This is the part one of the slides, and the succeeding slides will contain the errata for this slide.
The conversion of the ARM Linux kernel over to the Device Tree as the mechanism to describe the hardware has been a significant change for ARM kernel developers. Nowadays, all developers porting the Linux kernel on new ARM platforms, either new SOCs or new boards, have to work with the Device Tree. Based on practical examples, this talk intends to provide a ""getting started guide"" for newcomers in the Device Tree world: what is the Device Tree? How is it written and compiled? How do the bootloader and kernel interact? How are Device Tree bindings written and documented? What are the best practices for writing Device Trees and their bindings?
Video available at https://www.youtube.com/watch?v=m_NyYEBxfn8.
This presentation is about U-Boot: the most popular open source, primary boot loader used in embedded devices, as well as it's mechanisms and features.
The respective talk was held by Sam Protsenko (Software Engineer, Consultant, GlobalLogic) at GlobalLogic Mykolaiv Embedded TechTalk #1 on May 25, 2018.
U-Boot project has evolved in the time span of over 17 years and so as its complexity and its uses. This has made it a daunting task in getting started with its development and uses. This talk will address all these issues start with overview, features, efforts created by community and future plans.
The U-Boot project has evolved in the time span of over 17 years and so as its complexity and its uses. This has made it a daunting task in getting started with its development and uses. This talk will address all these issues and share development efforts created by the U-Boot community.
In this talk Jagan Teki(Maintainer for Allwinner SoC, SPI, SPI FLASH Subsystems) will introduce U-Boot from scratch with a brief overview of U-Boot history, U-Boot Proper, SPL, TPL, Build process and Startup sequence. He will talk about other preliminaries such as Image booting, Falcon Mode, Secure Boot and U-Boot features like device tree, device overlays, driver model and DFU, etc.
Once giving enough introduction, he will also talk about steps to port U-Boot to new hardware with a demo, along with U-Boot testing process. Finally, he will address and review ongoing development work, issues and future development regarding U-Boot.
Have a quick overview of most of the embedded linux components and their details. How ti build Embedded Linux Hardware & Software, and developing Embedded Products
Linux Kernel Booting Process (1) - For NLKBshimosawa
Describes the bootstrapping part in Linux and some related technologies.
This is the part one of the slides, and the succeeding slides will contain the errata for this slide.
The conversion of the ARM Linux kernel over to the Device Tree as the mechanism to describe the hardware has been a significant change for ARM kernel developers. Nowadays, all developers porting the Linux kernel on new ARM platforms, either new SOCs or new boards, have to work with the Device Tree. Based on practical examples, this talk intends to provide a ""getting started guide"" for newcomers in the Device Tree world: what is the Device Tree? How is it written and compiled? How do the bootloader and kernel interact? How are Device Tree bindings written and documented? What are the best practices for writing Device Trees and their bindings?
Video available at https://www.youtube.com/watch?v=m_NyYEBxfn8.
This presentation is about U-Boot: the most popular open source, primary boot loader used in embedded devices, as well as it's mechanisms and features.
The respective talk was held by Sam Protsenko (Software Engineer, Consultant, GlobalLogic) at GlobalLogic Mykolaiv Embedded TechTalk #1 on May 25, 2018.
U-Boot project has evolved in the time span of over 17 years and so as its complexity and its uses. This has made it a daunting task in getting started with its development and uses. This talk will address all these issues start with overview, features, efforts created by community and future plans.
The U-Boot project has evolved in the time span of over 17 years and so as its complexity and its uses. This has made it a daunting task in getting started with its development and uses. This talk will address all these issues and share development efforts created by the U-Boot community.
In this talk Jagan Teki(Maintainer for Allwinner SoC, SPI, SPI FLASH Subsystems) will introduce U-Boot from scratch with a brief overview of U-Boot history, U-Boot Proper, SPL, TPL, Build process and Startup sequence. He will talk about other preliminaries such as Image booting, Falcon Mode, Secure Boot and U-Boot features like device tree, device overlays, driver model and DFU, etc.
Once giving enough introduction, he will also talk about steps to port U-Boot to new hardware with a demo, along with U-Boot testing process. Finally, he will address and review ongoing development work, issues and future development regarding U-Boot.
عرض تقديمي بسيط يشرح ماهية اللينكس وتاريخه ومقارنة بيه وين الويندوز، والموضوع الرئيسي الذي يتناول شرح نظام لينكس مينت، ماهو؟ مدى شهرته؟ إصدراته؟ مميزاته؟ طريقة التنصيب؟ طريقة تثيت البرامج وأشهرها... الخ
إعداد طلاب قسم الـ CNDS - كلية الهندسة وتقنية المعلومات - جامعة تعز
- بشرى المشهري
- دعاء غالب
- سمية الكنيعي
- معتصم الشميري
- نشوان دعقان
Over the years Linux is being used as operating system in many intelligent and smart electronic devices starting from mobile phone, refrigerator to cow milking devices apart from desktops and server computers. Though Linux is open source, its often difficult for a beginner to get started. In this presentation embedded system and embedded Linux have been introduced through examples, animation and short explanation. This presentation is targeted to the absolute beginner or embedded software engineer who wants to be part of exciting world of Linux and the enthusiast or even manager who just wants to get idea about embedded Linux.
Today, the boundaries between the general purpose PCs, the servers and the embedded systems are more blurred. These computers are sharing same platforms, same peripherals. For example, an x86/Mac PC can be used as a server, an x86/PowerPC CPU can be used in an embedded system like portable navigation device (PND). On the other way, the popular embedded processor StrongARM was a powerful desktop PC processor for the DEC workstation, and the embedded systems often also act servers, like NAS (Network Attached Storage). As same as the hardware suppliers, the OS suppliers port their products into the desktop PCs, servers and embedded systems.
Slides of a course that is given to teach embedded linux to engineers. The full course is 2-days; this is the first time a 'light' version was given lasting a single day.
Focus is on
. What is Linux
. How do I compile
. How do I flash
An unique module combining various previous modules you have learnt by combing Linux administration, Hardware knowledge, Linux as OS, C/Computer programming areas. This is a complete module on Embedded OS, as of now no books are written on this with such practical aspects. Here is a consolidated material to get real hands-on perspective about building custom Embedded Linux distribution in ARM.
Building Mini Embedded Linux System for X86 ArchSherif Mousa
Full tutorial to learn how to build your own embedded Linux system as a MiniOS for your X86 device (PC ...).
It's considered a good start for anyone to get into the field of Embedded Linux building and development.
Some basic knowledges required for beginners in writing linux kernel module - with a description of linux source tree, so that the idea of where and how develops. The working of insmod and rmmod commands are described also.
First Steps Developing Embedded Applications using Heterogeneous Multi-core P...Toradex
Read our blog for the latest on demystifying the development of embedded systems using Heterogeneous Multicore Processing architecture powered SoCs! This might provide you with the jump start you need for your development. https://www.toradex.com/blog/first-steps-developing-embedded-applications-using-heterogeneous-multicore-processors
Using open source software to build an industrial grade embedded linux platfo...SZ Lin
Building an embedded Linux platform is like a puzzle; placing the suitable software components in the right positions will constitute an optimal platform. However, selecting suitable components is difficult since it depends on different application scenarios. The essential components of an embedded Linux platform include the bootloader, Linux kernel, toolchain, root filesystem; it also needs the tools for image generation, upgrades, and testing. There are abundant resources in the Linux ecosystem with these components and tools; however, selecting the suitable modules and tools is still a key challenge for system designers.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf91mobiles
91mobiles recently conducted a Smart TV Buyer Insights Survey in which we asked over 3,000 respondents about the TV they own, aspects they look at on a new TV, and their TV buying preferences.
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualityInflectra
In this insightful webinar, Inflectra explores how artificial intelligence (AI) is transforming software development and testing. Discover how AI-powered tools are revolutionizing every stage of the software development lifecycle (SDLC), from design and prototyping to testing, deployment, and monitoring.
Learn about:
• The Future of Testing: How AI is shifting testing towards verification, analysis, and higher-level skills, while reducing repetitive tasks.
• Test Automation: How AI-powered test case generation, optimization, and self-healing tests are making testing more efficient and effective.
• Visual Testing: Explore the emerging capabilities of AI in visual testing and how it's set to revolutionize UI verification.
• Inflectra's AI Solutions: See demonstrations of Inflectra's cutting-edge AI tools like the ChatGPT plugin and Azure Open AI platform, designed to streamline your testing process.
Whether you're a developer, tester, or QA professional, this webinar will give you valuable insights into how AI is shaping the future of software delivery.
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...DanBrown980551
Do you want to learn how to model and simulate an electrical network from scratch in under an hour?
Then welcome to this PowSyBl workshop, hosted by Rte, the French Transmission System Operator (TSO)!
During the webinar, you will discover the PowSyBl ecosystem as well as handle and study an electrical network through an interactive Python notebook.
PowSyBl is an open source project hosted by LF Energy, which offers a comprehensive set of features for electrical grid modelling and simulation. Among other advanced features, PowSyBl provides:
- A fully editable and extendable library for grid component modelling;
- Visualization tools to display your network;
- Grid simulation tools, such as power flows, security analyses (with or without remedial actions) and sensitivity analyses;
The framework is mostly written in Java, with a Python binding so that Python developers can access PowSyBl functionalities as well.
What you will learn during the webinar:
- For beginners: discover PowSyBl's functionalities through a quick general presentation and the notebook, without needing any expert coding skills;
- For advanced developers: master the skills to efficiently apply PowSyBl functionalities to your real-world scenarios.
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
UiPath Test Automation using UiPath Test Suite series, part 4DianaGray10
Welcome to UiPath Test Automation using UiPath Test Suite series part 4. In this session, we will cover Test Manager overview along with SAP heatmap.
The UiPath Test Manager overview with SAP heatmap webinar offers a concise yet comprehensive exploration of the role of a Test Manager within SAP environments, coupled with the utilization of heatmaps for effective testing strategies.
Participants will gain insights into the responsibilities, challenges, and best practices associated with test management in SAP projects. Additionally, the webinar delves into the significance of heatmaps as a visual aid for identifying testing priorities, areas of risk, and resource allocation within SAP landscapes. Through this session, attendees can expect to enhance their understanding of test management principles while learning practical approaches to optimize testing processes in SAP environments using heatmap visualization techniques
What will you get from this session?
1. Insights into SAP testing best practices
2. Heatmap utilization for testing
3. Optimization of testing processes
4. Demo
Topics covered:
Execution from the test manager
Orchestrator execution result
Defect reporting
SAP heatmap example with demo
Speaker:
Deepak Rai, Automation Practice Lead, Boundaryless Group and UiPath MVP
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
6. ARM Cross-Development
Toolkit
ASM Source
C Source C Libraries
C Compiler Assembler
.aof
Object
Linker Libraries
.aif debug
System model
ARMsd
Development
ARMulator
board
6
7. Development Environment
GUN development toolchains
A compiler that runs on one computer but produces
object code for a different type of computer.
Cross compilers are used to generate software that
can run on computers with a new architecture or on
special-purpose devices that cannot host their own
compilers.
Cross-compiler for ARM
gcc : arm-linux-gcc
g++ : arm-linux-g++
ar : arm-linux-ar
strip : arm-linux-strip
7
8. Create Target Linux System
A target Linux system is created by configuring and
bundling together the appropriate system components.
Programming and development aspects are a separate
subject
There are four main steps to creating a target Linux
system:
Determine system components
Configure and build the kernel
Build root filesystem
Set up boot software and configuration
8
9. System Boot Flow
Bootloader
Extract and decompress the
Kernel Image and RAMDISK
Launch kernel
Kernel
Initialize Memory and
Hardware
Mount Root Filesystem
(RAMDISK)
Run /sbin/init
User Programs
9
10. All the things we need
Cross-Platform development toolchain
Bootloader
Provide by vendor
Linux kernel
Linux kernel + some patches if needed
Filesystem
Busybox
Device node
Configuration
10
11. Build the GNU Cross-Platform
Development Toolchain
We can download the cross-platform (toolchains)
from ftp://ftp.arm.linux.org.uk/pub/
The toolchain do not need recompile, just
decompress it and set the system path.
GNU Toolchain’s Component
Binutils
including AS, LD and other binary file tools
GCC
the well known C,C++ complier supported variable platform
GLIBC
the C runtime library
GDB
the command line source debugger, including remote 11
debugging
13. ARM Linux Kernel
ARM Linux is a port of the successful Linux
Operating System to ARM processor based
machines mainly by Russell King with contributions
from others.
The patch change log can be found at
http://www.arm.linux.org.uk/developer/release-
2.4.0.shtml
The Linux Kernel and most of the programs that
make up the Linux system are quot;open sourcequot;, using
the GNU tools provided by the Free Software
Foundation. ARM Linux is being ported, or has been
ported to more than 100 different machine variations,
including complete computers, network computers 13
and evaluation boards. There are also projects for
14. Filesystem - initrd
initrd provides the capability to load a RAM disk by
the boot loader.
This RAM disk can then be mounted as the root file
system and programs can be run from it.
Afterwards, a new root file system can be mounted
from a different device. The previous root (from
initrd) is then moved to a directory and can be
subsequently unmounted.
initrd is mainly designed to allow system startup to
occur in two phases, where the kernel comes up
with a minimum set of compiled-in drivers, and 14
where additional modules are loaded from initrd.
15. Filesystem - BusyBox
Combine tiny versions of many common
UNIX into a single small executable.
Provide a fairly complete environment for any
small or embedded system.
BusyBox has been written with size-
optimization and limited resources in mind. It
is also extremely modular so you can easily
include or exclude commands (or features) at
compile time. This makes it easy to
customize your embedded systems 15
17. Make Linux Kernel
Download Linux kernelOptions: from
Additional source
http://www.kernel.org/ CROSS_COMPILE=arm-linux-
ARCH=arm
make clean
make menuconfig
Building Kernel CROSS_COMPILE=arm-linux dep
make ARCH=arm
make clean
make ARCH=arm CROSS_COMPILE=arm-linux zImage
make menuconfig
make ARCH=arm CROSS_COMPILE=arm-linux modules
make ARCH=arm CROSS_COMPILE=arm-linux
make dep (this step is no needed in version 2.6)
modules_install
make bzImage
make ARCH=arm CROSS_COMPILE=arm-linux install
make modules
make modules_install
make install
17
18. Make Linux Kernel
After make bzImage, the kernel image will be
at ./path/to/linux_src/arch/i386/boot/bzImage
The quot;bzImagequot; name stands for quot;big zImage,quot; and
has nothing to do with the bzip2 compression utility.
In fact, both the bzImage and zImage Makefile
targets rely on the gzip algorithm.
The difference between the two Makefile targets is
that the compressed kernel images generated using
zImage cannot be larger than 512 KB, while those
generated using bzImage are not bound by this limit.18
20. Building Root Filesystem
Download the BusyBox source code from
http://www.busybox.net/
Building BusyBox
make clean
make all
make install
After make complete, the busybox will be
at ./path/to/busybox_src/_install/
20
21. Building Root Filesystem
The BusyBox has all needed utilities, such as, ls, kill,
chroot, mount, …,etc.
Building the Root Filesystem
Create a directory ~/root-fs
Copy all files in busybox/_install to ~/root-fs/
Create some standard directory, such as, /dev, /etc /proc
/mnt /tmp /var
Make some device node
Write some boot shell scripts
Make directory ~/root-fs to a initrd image
21
22. Create Device Nodes
cd ~/root-fs/dev/
mknod tty c 5 0
mknod console c 5 1
mknod tty0 c 4 0
mknod ttyS0 c 4 64
mknod ttyS0 c 4 64
mknod ram0 b 1 0
mknod null c 1 3
22
24. Make INITRD image
dd if=/dev/zero of=/home/initrd.img bs=1k count=8192
su root
mke2fs -F -v -m0 /home/initrd.img
mkdir tmp
mount -o loop initrd.img tmp/
cp ~/root-fs/* /home/tmp/ -dpRrf
umount tmp/
gzip -9 < initrd.img > initrd.bin
file
8MB mount
is null
Write DATA
~/root-fs
file
8MB unmount
with data
24
25. Customize Application and
Configuration
In order to meet the system requirement, we
must write some applications base on some
drivers.
Maybe we’ll setting up the Ethernet or
Wireless network or build up some Internet
Protocol.
Customize the GUI or MMI
25
27. Major and Minor Numbers
Special files under /dev “c” for char & “b” for block
Major number identifies driver use at open time
Minor number is used only by driver to control several
devices
crw-rw-rw- 1 root root 1, 3 Feb 23 1999 null
crw------- 1 root root 10, 1 Feb 23 1999 psaux
crw------- 1 rubini tty 4, 1 Aug 16 22:22 tty1
crw-rw-rw- 1 root dialout 4, 64 Jun 30 11:19 ttyS0
crw-rw-rw- 1 root dialout 4, 65 Aug 16 00:00 ttyS1
crw------- 1 root sys 7, 1 Feb 23 1999 vcs1
crw------- 1 root sys 7, 129 Feb 23 1999 vcsa1
crw-rw-rw- 1 root root 1, 5 Feb 23 1999 zero
27
28. Major Number
Adding a new driver at module initialization
int register_chrdev(unsigned int major, const char *name,
struct file_operations *fops);
fops point to a global structure which kernel finds
To create device node : mknod /dev/scull0 c 254 0
If major is 0, the register_chrdev return a free
number
For dynamic allocation, script to extract
/proc/devices device number, then invoke mknod to
create device file
int unregister_chrdev(unsigned int major, const char *name); 28
29. Register a Character Device Driver
Kernel
Major 0 … Major 98 Major 99 … Major 255
Driver 2
2
(1)Insmod module, Driver Major 99
register a Major number to 1
Kernel
Driver 1
(2)Kernel know the Major
num, Major 98
Kernel will link the major
num to The Driver Module
29
30. Major and Minor
Kernel
Major 0 … Major 98 Major 99 … Major 255
2 Driver 2
Device A
3 Major 99
Major 98
Minor 1 (1) Open、Read、
Write
Driver 1
(2) Pass Major&Minor
1 Major 98
to Kernel
(3) Kernel Passes Minor
User Program
to Driver
30
32. Console Application
Write C/C++ programs and compile it as
static link or dynamic link executable files.
Static
Copy the executable file to Root Filesystem
Execute it.
Dynamic
Copy the executable file and needed libraries to Root
Filesystem
Set the library path by using “export LD_LIBRARY”
Execute it
32
33. Graphic User Interface
Window System
X Window (TinyX)
http://www.xfree86.org/
QPE (Qt Plamtop Environment) / Qtopia
http://www.trolltech.com/products/qtopia/index.html
GPE (GPE Palmtop Environment)
http://gpe.handhelds.org/
Microwindows
http://microwindows.org/
MiniGUI
http://www.minigui.org/
33