Free Electrons organizes a training session on Embedded Linux kernel and driver development in Avignon, south of France, on April 7-11, 2014.
The next dates for such a course in Avignon are October 6-10, 2014.
See the other public sessions that we organize, in the same and in other locations. We can also organize a session at your own company, if enough people are interested.
Objectives and target audience
This course targets engineers who wish to develop or improve device drivers in the Linux kernel, for projects on embedded platforms, or on the traditional PC platform. In five days, through theory and practical labs, the course makes you familiar with the essentials of kernel development: kernel architecture, the main APIs, integration of device drivers with other parts of the kernel and with user applications.
At the end of this course, you will be ready to work on Linux device driver development projects.
Here are the main topics that we cover:
- Introduction to the Linux kernel
- Kernel source code
- Configuring, compiling and booting the kernel
- Linux kernel modules
- Memory management and accessing hardware
- Character device drivers
- Processes, scheduling, waiting for resources and interrupt management
- Kernel debugging techniques
- Using DMA
- Kernel architecture for device drivers. Illustration by many examples in the kernel code.
- Kernel booting details
- Porting the Linux kernel to a new hardware platform
- Power management
- Working with the community
- Managing sources with git.
See the detailed agenda.
All the training materials we use during this course are freely available. Before the session, you can then check that they correspond to your needs.
By the way, you can also see evaluations from previous sessions. In the same way we are transparent with our training materials, we share all the evaluations that we collect, not only the good ones.
Labs are performed an embedded ARM board (BeagleBone Black). You will get familiar with the generic mechanisms and interfaces provided by the Linux kernel, through the implementation of device drivers for an I2C device (Nintendo Wii Nunchuk in our labs) and for the serial ports of the TI AM 335x CPU. This experience will help you to implement device drivers for any type of devices.
The electronic board is yours to keep at the end of the session. Even long after the course, this allows you to continue to learn and experiment using a well known working base. You can even use your board and what you created during the course to develop your own prototypes.
Participants need to be familiar with the UNIX or Linux command line interface. Those who aren’t are asked to do some self training on the topic, for example by using our training materials). This way, they won’t waste time during practical labs because of issues using the operating system environment.
Participants must also have solid experience in programming in the C language. In particular, they must be familiar with creating and dealing with complex data types and structures, with pointers to such symbols, as well as with function pointers.
If you develop on embedded hardware and lack experience in embedded Linux development, we also recommend to take our Embedded Linux course first. This is not a prerequiste as you will be given all the instructions to operate your embedded Linux system, but you it will help you to understand the environment you are using, allowing you to concentrate on kernel programming. In addition, you will need embedded Linux knowledge anyway if you are involved in the development of drivers for embedded products.
Lectures and oral explanations will be given in English. French speakers could still have direct discussions with the trainer in French during practical labs.
This training session will be performed by Michael Opdenacker. Embedded Linux engineer since 2003 and founder of Free Electrons, Michael has already performed countless embedded Linux and kernel training sessions in 12 countries, in Europe, Asia and in North America.
The session will happen in Avignon, in the Mercure Pont d’Avignon Hotel in the historical center, 100 m away from the Popes Palace.
- Address: Rue Ferruce, Quartier Balance, 84000 Avignon
- Phone: 04 90 80 93 93
- Caution: there is another Mercure hotel less than 150 meters away. Make sure you go to the “Mercure Pont d’Avignon” one.
You can reach Avignon:
- From Marseille’s airport. You can come by car (approximately 1 hour), or by public transportation (shuttle + train, 1 hour to 1 1/2 hour).
- By train from many cities in France, in particular with the TGV fast train. This way you can arrive in Lyon or Paris, and take the TGV train to reach Avignon.
The Avignon area is perfect to go out in the evening or during the week-end. You are in the heart of Provence, a region that attracts visitors from the entire world. Details.
Last but not least, Avignon is 2 hours and 40 minutes away from Paris with the TGV fast train. You may land in Paris, go to Avignon for the week, and get back to Paris for the week-end before you leave France.
This course is from Monday to Friday (five days), from 9:00 am to 6:00 pm. If some participants have to leave earlier on the last day, we can make sure that all key lectures and labs are complete by 4:00 pm on that day.
- For extra people from the same company (condition: unique invoice for all participants)
- For any registration confirmed at least 2 months before the session starts.
- For individuals who pay the whole training cost by themselves (with no refund from their company and without public funding). This compensates for the fact that we have to add 20% V.A.T. to their training costs.
This rate includes the course, laptop rental, lunch as well as morning and afternoon breaks. Each participant walks away with his own electronic board.
Note that dinner, breakfast, accommodation, and traveling costs are not included in our price. Each participant will have to pay for such expenses by themselves.
See how to register to our public sessions.
It is recommended to register early, to enjoy our discount rates.
Questions and answers
Q: How to arrive from Marseille’s airport?
A: You can either rent a car, or take public transportation. All details here.
Q: How easy is it to travel to Marseille? Are low-cost flights available?
A: Marseille is one of the biggest airports in France in terms of traffic. There are lots of direct flights from many European cities, and from most capitals, including a significant number of low-cost flights. Depending on where you are, it could be cheaper to fly to Marseille that to other parts of your country!
Q: Would you have any hotel to recommend?
A: Yes. We recommend to stay at the Mercure Pont d’Avignon hotel where the course takes place. This hotel can also offer a discounted rate to participants to our sessions (depending on how full the hotel is, just ask). That’s why we advise you to book your room by calling the hotel. If the on-line booking system tells you that there are no available rooms left, you can still tell the hotel crew that you participate to the training session, and they will do their best to find a room for you. For example, they can swap rooms booked by tour operators with the other Mercure hotel 200 meters away. If the hotel is really full, you may also try other very close hotels in the historical center of Avignon: Mercure Cite des Papes, Hotel de l’Horloge, Kyriad Avignon Palais des Papes or Hotel du Palais des Papes. Many more hotels are available in Avignon, if you are ready to walk 5 to 10 minutes more. This way, you will even be able to find decent hotels starting at about 50 EUR per night.
Q: Should I rent a car?
A: If you are interested in visiting Provence in the evenings or during the week-ends, we strongly recommend to rent a car if you can. Unfortuately, public transportation is not well developed there, and you would have trouble getting back to Avignon after going out in the evening. On the other hand, if you prefer to stay at your hotel, relax and just visit Avignon by foot, you won’t need a car.
See our page on all our public sessions for more questions and answers common to all training locations.