Linux Embedded Challenge Knowledge Base

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Linux Embedded Challenge Knowledge Base

Labels

Discussions

Sort by:
Linux Kernel Developing U-boot and Kernel Compilation Get right toolchain for your platform.             a. Ubuntu: sudo apt-get install gcc-arm-linux-gnueabi/gcc-arm-linux-gnueabihf or            b.  Get from linaro.org : wget -c https://releases.linaro.org/14.04/components/toolchain/binaries/gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux.tar.xz    2. Get U-boot code source git clone http://git.denx.de/u-boot-imx.git make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- wandboard_quad_config make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-    3. Get Kernel source with Wandboard support Wandboard repo: git clone https://github.com/wandboard-org/linux.git Select the right branch: git checkout wandboard_imx_3.10.17_1.0.0_beta                                   or                                 git checkout wandboard_imx_3.0.35_4.1.0              b. Kernel Configuration ( load the wandboard  config )                      make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- wandboard_defconfig                                     or                            make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi- menuconfig              c. Kernel Compilation make ARCH=arm CROSS_COMPILE=arm-linux-gnueabi-      4. Prepare the sdcard:             I. Copy the u-boot on the sdcard Determine the sdcard device name : sudo df -h sudo umount /dev/sdd* sudo dd if=/<path>/u-boot.imx of=/dev/sdd bs=512 seek=2           II. Partitionating the sdcard sudo fdisk /dev/sdd o n p 1 2048 +1G t c n p 2 12288 +5G   P sudo mkfs.vfat -n KERNEL /dev/sdd1 sudo mkfs.ext3 -L RFS /dev/sdd2 cd /media/ sudo mkdir KERNEL sudo mkdir RFS sudo mount /dev/sdd1 KERNEL/ v. sudo mount /dev/sdd2 RFS/          |||. Download a RFS and put on the sdcard wget -c https://rcn-ee.net/deb/minfs/wheezy/debian-7.5-minimal-armhf-2014-07-07.tar.xz sudo tar -xvf debian-7.5-minimal-armhf-2014-07-07.tar.xz  -C RFS/ Put the dtb file and zImage on the sdcard ( KERNEL partition ). sudo cp <kernel_path>/arch/arm/boot/uImage /media/KERNEL sudo cp <kernel_path>/arch/arm/boot/imx6q_wandboard.dtb /media/KERNEL IV. Setup the u-boot: run loadimage run loadfdt setenv bootargs console=ttymxc0,115200 root=/dev/mmcblk0p2 rootwait rw bootz ${loadaddr} - ${fdt_addr} Kernel devices Realise a kernel device controlled from user space. The following steps will be done on the virtual machine. NEEDED: Get the Virtual Box softwarte:  https://www.virtualbox.org/wiki/Downloads Realize a kernel device which prints “Hello World” starting from you’re the attached code.    a . First determine the kernel version from target platform: uname –a Get the kernel sources or kernel headers using one of the following methods. On the current virtual machine this step is already done. For kernel headers: sudo apt-get install linux-headers-$(uname -r) For kernel sources: sudo apt-get install linux-source    b. Now go to the directory tasks/kernel. Create a function void hello() which prints “Hello World”.  It should be called when the device is inserted.    c.  Compile the module : make    d.  Insert the module on the virtual machine : insmod lec_cdev.ko    e.  See if the module  is inserted lsmod dmesg    f. Remove the kernel module :  rmmod lec_cdev.ko    2. Create the device lec_cdev using  mknod  /dev/lec_cdev c 243 0    3. Implement the read function of the device in order to have the following effect: cat /dev/lec_cdev =>  print to infinit “a” Modify the previous module in order to be commanded using ioctl from userspace. In function lec_cdev_ioctl  detect the command sent  from userspace and If command is MY_IOCTL_HELLO prints “HELLO WORLD”; MY_IOCTL_SET_BUFFER – prints the buffer received from userspace. MY_IOCTL_GET_BUFFER – prints the data from the char device driver buffer         HINT: use functions * copy_to_user(user_buffer, kernel_buffer, size) * copy_from_user(kernel_buffer, user_buffer , size)
View full article
Linux Embedded Challenge Kernel driver that toggles a LED.
View full article
The first edition of Linux Embedded Challenge has dared students to be innovative and to transcend their novel ideas into reality. The below movie shows an overview of Linux Embedded Challenge 2014 edition.
View full article
1. Adaptive Dynamic Headlights with Pedestrian Spotlight Function - by eVision Team members: Balaban Valeriu  - Master, Advanced Microelectronics, Electronics, UPB Voicu Tudor Alexandru - Bachelor, Applied Electronics, Electronics, UPB Stanescu Sebastian - Bachelor, Telecom Networking and Software, UPB Short description:     Because of the high rate of fatalities between night accidents a lot of research are held for developing techniques to increase the driver area of vision during the night and to reduce the accident damage if this could not be avoided. The adaptive headlight function helps to see further in poor light conditions and especially in bends: the cornering light swivels the headlights in the direction of travel, with the degree of turn computed by a CPU, to illuminate as much road area as possible     An interesting solution is spotlight lighting function, which is a LED beam that specifically illuminates potential hazards. If the near infrared camera detects deer at the roadside or pedestrians on the road, they can be briefly illuminated beyond the normal area covered by the main beams, by a spot-light to attention the driver for a possible danger. Presentation: Please consult eVisionPresentation.pdf. Documentation: Please consult eVisionDoc.pdf. Code Sources https://github.com/izzi/app-evision https://github.com/izzi/meta-evision 2. Voice Commanded Interface for DriverVehicle Interaction - by She# Team members: Iulia Neagoe - Computer Sciences and Military Information Systems,Military Technical Academy Mihaela-Anca Sorostinean - Computer Sciences and Military Information Systems,Military Technical Academy Short description:     In the context of continuous technological advances in the automotive and communications domains, a drivers responsibility has switched from just controlling the car to interacting with the multitude of gadgets provided by the manufacturer. The purpose of this project is to design an interface that offers the driver the possibility of controlling some of the nonvital functionalities of the car by vocal commands, so as to enable the driver to focus his attention on the road while also having a comfortable mean of communication with the car.      We developed a system of vocal recognition of some basic features like the radio, windows, clima or a phone which we implemented on the Wandboard. Also we provide the user with a graphical interface of the recognized commands in order to enhance his interaction with the vehicle. Presentation: Please consult ShePresentation.pdf. Documentation: Please consult SheDoc.pdf. Code Sources Please see She#_Project_Source.zip. 3. Driving Control Software - by FreeSoftwares Team members: Petrosanu Adrian-Sabin - Computer Science, UPB Birsan Nicoleta Cosmina - Computer Science, UPB Radoi Ioana Gabriela - Computer Science, UPB Short description: "Driving Control Software" is a soft to control an automatic gearbox. This project consists of simulating the behavior of an automatic gearbox on the Wandboard. An automatic gearbox is a type of motor vehicle transmission that can automatically change gear ratios as the vehicle moves. Presentation: Please consult FreeSoftwaresPresentation.pdf. Documentation: Please consult FreeSoftwaresDoc.pdf. Code Sources Please see Freesoftwares_Project_Source.zip. 4. Autonomous Car Parking - by ATM Team members: Mihai Coca - Computer Sciences and Military Information Systems,Military Technical Academy Georgian Andrei - Computer Sciences and Military Information Systems,Military Technical Academy Hiji Iulian - Computer Sciences and Military Information Systems,Military Technical Academy Short description: A large number of companies are developing autonomous vehicle technology through applying its work in the area to a particular usage case : parking. The purpose of this project is to design a concept vehicle, which can be dropped off at the curb by its owner and left to its own devices to enter into a spot park. The process can even be reversed when the owner is ready to go, with the car leaving the spot park on its own to meet its key-holder again at the curb. Documentation: Please consult ATMDoc.pdf Code Sources Please see ATM_Project_Source.zip. 5. Collision Detection - by Beer2.0 Team members: Nitu Adrian - Computer Science, UPB Short description: The purpose of our project is to provide cars with a sense of the road ahead and enable it to take preventive actions against collisions; In this way we hope to reduce accidents on the road. It will gather signals and informations from different hardware and will alert the driver or take immediate control of the car in order to make critical maneuvers in order to protect the driver from any life threatening event. A Freescale Cup car will be equipped with a Wandboard and two USB cameras so we can track the environment. After initial object tracking we will incorporate Human Interaction by remote control. For this project we believe a simple warning system and/or breaking will suffice as a proof of concept. Presentation: Please consult Beer20Presentation.pdf Documentation: Please consult Beer20Doc.pdf Code Sources https://bitbucket.org/adriannitu92/freechallenge 6. Feedforward adaptive noise cancellation using sub-band normalized filtered-X LMS algorithm - by Brainiacs Team members: Cristian Monea - Telecommunications and Information Technology, Electronics, UPB Madalin Zaharia - Telecommunications and Information Technology, Electronics, UPB Short description This project proposes a feedforward adaptive noise cancellation (ANC) algorithm based on sub-band normalized filtered-X LMS (NFXLMS). The use of an adaptive algorithm offers advantages over simple filtering algorithms like fixed FIR or IIR filters. Also, noise generated in a car environment can be considered stationary because it preserves some of its properties, like spectral distribution, mean, variance, which allows the use of adaptive filters in car noise cancellation applications. The feedforward system should be more efficient than feedback systems. In this case, a coherent reference noise input is sensed before it propagates past the canceling speaker. Thus, the algorithm will simulate the two sensors (microphones): reference sensor, which measures the primary noise to be canceled, and the error sensor. Presentation: Please consult BrainiacsPresentation.pdf Documentation: Please consult BrainiacsDoc.pdf
View full article
During 23-24th October 2014, we are going to have the Linux Embedded Challenge final at the Freescale site in Bucharest. In total we will have six teams and six very interesting projects participating and aiming to win the two awards: Best Project and Most Original Idea. The following teams will participate eVision Balaban Valeriu, Voicu Tudor, Stanescu Sebastian Electronics Beer 2.0 Adrian Nitu, Radu Vlad Rares Computer Science FreeSoftwares Team Petrosanu Adrian Sabin, Birsan Nicoleta Cosmina, Radoi Ioana Gabriela Computer Science Echipa ATM Coca Mihai, Hiji Andrei, Andrei Georgian ATM BRAINIACS Cristian Monea, Mădălin Zaharia Electronics She# Iulia Neagoe, Mihaela Sorostinean ATM Agenda Thursday Start End Activity 9:00 AM 9:15 AM Debriefing 9:15 AM 12:00 PM LEC Project Finalization 12:00 PM 1:00 PM Lunch 1:00 PM 6:00 PM LEC Project Finalization Friday Start End Activity 9:00 AM 11:00 PM LEC Project Finalization 10:00 AM 12:00 PM Presentation/Demo setup 12:00 PM 12:45 PM Lunch 12:45 PM 2:30 PM Project Presentations 2:30 PM 3:30 PM Getting to know us better 3:30 PM 4:00 PM Award Ceremony
View full article
The attached lecture is a short introduction about Computer Vision and additionally, you can find attached Octave Demos for Computer Vision.
View full article
The attached archive contains the starting point for developing an OpenVG-based embedded graphics application on the Wandboard. It contains 2 items: 1) The training presentation:      These are the support slides for the OpenVG presentation held during the Linux Embedded Challenge workshop. 2) The support application:      This is a sample application meant to aid in setting up the platform for an OpenVG-based application.      In order to compile it directly on the Wandboard, you will need the arm-linux-gnueabi-g++ compiler. If it is not already installed on the board, you can obtain it by installing the g++-arm-linux-gnueabi package:      sudo apt-get install g++-arm-linux-gnueabi      Use the provided Makefile to build the application. It provides an example on how to: Set up the platform (using X11) and the EGL objects (context, rendering surface etc.) Create an OpenVG path Create a linear gradient paint Create a pattern paint based on a user-generated image Fill and stroke a path Use transformation matrices to scale, rotate and translate a rendered object  
View full article
The attached lecture is an short introduction about Linux BSP and developing software with Wandboard.
View full article
Registration requirements Minimum skills Previous experience with C or Java is needed. Previous experience with Linux systems is needed. Experience with embedded programming is a PLUS but not a MUST. Team one to three members from either Politechnica University of Bucharest or Military Technical Academy. Judging Criteria Originality Is this something new or improving something that existed before ? Execution Does it do what it should do, are there any major issues ? Usability Is the project easy to use and/or integrate ? Utility Does it have applicability within the Automotive domain ?
View full article
After the project presentations, the jury will offer awards for: Exceptional Activity The possibility to be enrolled in a Freescale Internship for next year Best Project Amazon Kindle Paperwhite per each member of team                            Most Original Idea Garmin Forerunner® 10 per each member of team            
View full article
The Linux Embedded Challenge team offers you full support during contest. The workshop will enlarge your perspective towards the Automotive and Linux world. Its main objective is to prepare you in order to be full qualified for the development of contest project. The lectures will be held by experienced engineers from Freescale. The participation is recommended for the accepted Linux Embedded Challenge participants. Courses Themes Day 1 -  Developing Software with Wandboard Day 2 - Linux Kernel Programming Day 3 -  Embedded Graphics Day 4 -  Introduction to Computer Vision Day 5 -  Advanced Driver Assistance Systems Registration For registration, please send an e-mail to linuxemb@freescale.com specifying the days you would like to attend. If you want to participate only to workshop, you should specify in e-mail the following details: subject: [LinuxEmbeddedChallenge] Register only to Workshop  CV Please answer to the following questions: Which is your most important Linux project? What do you know about Automotive? Why do you want to participate to Linux Embedded Challenge? All documents have to be written in English. Please be aware that the number of participants is limited. The accepted Linux Embedded Challenge participants will have priority. When and Where Period: 14-18 July, 2014 Location: Freescale Semiconductor Bucharest, TATI Business Center, 45 Tudor Vladimirescu Street, TATI Business Center, Bucharest Country: Romania
View full article
If you are willing to learn new technologies, use open-source software and promote your novel ideas about Linux, Automotive and Embedded, Linux Embedded Challenge is your opportunity to amaze everybody. Form your team (1-3 members) and research a project idea related to Automotive which can be realized using Freescale Linux BSP and platform. Challenge yourself and enroll to Linux Embedded Challenge by sending an e-mail at linuxemb@freescale.com. The format of the e-mail is: Subject: [LinuxEmbbededChallenge] [TEAMNAME] Project Name Team Description Project Description: Describe your idea in detail Include architectural diagrams and  used technologies Mention the improvements it brings to Automotive world. Please send you submissions in English. Enrollment period:  1 - 20 June, 2014. Extended Enrollment Period:  1 June - 4 July, 2014.
View full article
The topics below are proposed by Freescale. Chosing one of them is not mandatory, you are free to come with your own idea for a topic. HMI - Human Machine Interface An HMI is a car system that allows the driver to easily use different information and entertainment car services. The HMI is usually found at the center of the car, between the driver and the passenger. A typical HMI can be a touchscreen allowing access to Radio & Audio subsystems as well as Navigation and Phone Connectivity. The teams chosing this project will need to design a graphical interractive application that allow the user to: Play media from various external devices (SD card or smartphone) Adjust audio and video settings Make and receive phonecalls from a smartphone connected to the Wandboard Use the navigation system Examples of HMI below: http://www.youtube.com/watch?v=iZsviUeLmmg Audi New HMI at CES2014 - YouTube Freescale Automotive Vision Freescale i.MX 6 Automotive Technology Audio Post Processing Filter Audio post processing, is the intentional alteration of auditory signals, or sound, often through an audio effect or effects unit. When listening to radio or music in a car, the surroundings around the listener can reduce the quality of listening experience. Traffic or wheel noise, people talking can contribute a lot of noise -- so much noise that some of the soft pieces in the music may become inaudible.Audio post processing can be used to improve the user experiencer by supressing the effects produced.by various noises. The teams chosing this project will have to show sample audio streams recorded with noises and the resulted output after the post processing alghorithms have been applied. Check out the links below dor more details: DSP-based audio post processing enhances audio quality | EE Times Audio signal processing - Wikipedia, the free encyclopedia Real Time Collision Detection A collision avoidance system is a system designed to reduce the severity of an accident. Also known as precrash system, forward collision warning system or collision mitigating system, it uses radar and sometimes laser and camera sensors to detect an imminent crash. Once the detection is done, these systems either provide a warning to the driver when there is an imminent collision or take action autonomously without any driver input (by braking or steering or both). One of the first phases in collision avoidance collision detection or detecting an approaching obstacle. A typical application will process images received through a camera connected to the Wandboard, detect objects that are getting closer and closer (having a certain speed as a threshold) and warn by playing a sound or showing a warning message on the screen.  For more details, visit: HowStuffWorks "Pre-collision Systems and Radar" Collision detection - Wikipedia, the free encyclopedia Safety Critical Linux A life-critical system or safety-critical system is a system whose failure or malfunction may result in: death or serious injury to people, or loss or severe damage to equipment or environmental harm. Automotive software is an example of a safety critical system. There is currently a lot of debate on whether Linux SW can be part of a such a system and there are open source projects aimed towards proving this. One of the examples of such project is the OSADL Project: Safety Critical Linux. A team chosing this topic might contribute to this project with applications or tools that control Linux application behaviour in Autmotive environment Check out the links below for more information: https://www.osadl.org/Presentations-and-Documents.safety-critical-documents.0.html http://elinux.org/images/9/96/LinuxInSCEnvironment.pdf AFS - Adaptive Front-light System Approximately 70% of vehicle to pedestrian accident occured in night time. The AFS adapts automatically to the traffic situation and weather conditions for increased safety and greater driving comfort. The teams chosing this project will have to create a prototype for controlling the front-light to different situations: curves, bumps, other traffic vehicles. Check out the links below for more information: Adaptive Frontlight System (AFS) - YouTube BMW Adaptive Headlights - YouTube https://techinfo.honda.com/rjanisis/pubs/om/JA0606/JA0606O00139A.pdf
View full article
Linux Embedded Challenge is a Linux contest for Automotive topics. Its goal is to promote Linux and Open Source software in the student world. It also targets to prove Linux can be successfully used as support for Automotive software development. Linux Embedded Challenge is aimed towards students in the terminal years from either Politechnica University of Bucharest or Military Technical Academy who have had in the past previous experience with programming on Linux.
View full article