Difference between revisions of "User:FabienM"

From ArmadeusWiki
Jump to: navigation, search
(Somes usefull tricks)
(Wavedrom ?)
(21 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
[[MemberList | << liste des membres]]
 
[[MemberList | << liste des membres]]
  
= ''' Présentation ''' =
 
 
Fabien Marteau, Électronicien/Informaticien.
 
 
J'ai toujours fait de l'électronique/informatique, depuis les magnétoscopes et réveils que j'ai démonté en passant par la filière SI du Bac S ainsi que le DUT GEII et l'[http://www.enseirb.fr/ ENSEIRB]. J'aime bidouiller des petits circuits électroniques avec des applications plus ou moins utiles comme ma [http://fabienmarteau.free.fr/?page=stationmeteo/stationmeteoindex station météo].
 
 
En tant que membre d'[http://eirbot.enseirb.fr  Eirbot] je suis très intéressé par les applications en robotiques réalisable avec armadeus. Je suis aussi particulièrement intéressé par les applications en domotique avec la gestion de capteurs ainsi que la gestion de l'énergie.
 
.
 
 
 
== Compétences : ==
 
* réalisation de cartes electroniques numériques ([http://www.cadsoft.de/ Eagles] et [http://www.lis.inpg.fr/realise_au_lis/kicad/ Kicad])
 
 
* programmation en C / assembleur 68000
 
 
* Conception et simulation VHDL
 
 
* microcontrolleurs Atmega, 68HC11, PIC
 
 
== Objectifs : ==
 
* Faire de l'embarqué sur des platforme autre que x86 avec les vrais contraintes de l'embarqué
 
 
* me former à Linux embarqué et aux fpga
 
  
 
= Mes petites bidouilles avec l'armadeus =
 
= Mes petites bidouilles avec l'armadeus =
Line 45: Line 22:
 
* [[A simple design with Wishbone bus]]
 
* [[A simple design with Wishbone bus]]
  
 +
* [[How to use kernel 2.6.38.x on APF27]]
 +
 +
== Trash ==
 +
* [[APF27_FPGA-IMX_interface_description | Description of FPGA-IMX interface for APF27]]
 +
* [[APF51_FPGA-IMX_interface_description | Description of FPGA-IMX interface for APF51]]
 +
* [[FPGA | FPGA on APF introduction]]
 +
* [[FPGA and led | Button and LED]]
  
 
== Projets ==
 
== Projets ==
Line 61: Line 45:
 
* Site [http://www.armadeus.com/english/index.html entreprise]
 
* Site [http://www.armadeus.com/english/index.html entreprise]
 
* Les codes de retour d'erreurs : http://www.opengroup.org/onlinepubs/007908799/xsh/errno.h.html
 
* Les codes de retour d'erreurs : http://www.opengroup.org/onlinepubs/007908799/xsh/errno.h.html
* [[Fr:Paquets_Buildroot]]
+
* [[Buildroot_Packages]]
 +
* [http://sebsauvage.net/files/20130426_cpp_quovadis2013cppontheweb-130425105424-phpapp01.pdf Un papier très intéressant] d'un développeur de jeux vidéo prônant l'utilisation du C++ ... pour le web. Notamment grâce à l'utilisation de [http://sebsauvage.net/files/20130426_cpp_multiplatformconthewebwithemscripten-130405172545-phpapp01.pdf emscripten] qui permet de compiler du C++ vers le javascript (HTML5).
  
 
= Somes usefull tricks =
 
= Somes usefull tricks =
Line 83: Line 68:
 
<source lang="bash">
 
<source lang="bash">
 
#!/bin/sh
 
#!/bin/sh
LIGHT=$(cat /sys/class/hwmon/hwmon0/device/in3_input)
 
TIME=$(date +%s)
 
 
while true
 
while true
 
do
 
do
 +
LIGHT=$(cat /sys/class/hwmon/hwmon0/device/in3_input)
 +
TIME=$(date +%s)
 
echo $TIME", sec, "$LIGHT", mV," >> log;
 
echo $TIME", sec, "$LIGHT", mV," >> log;
 
sleep 2
 
sleep 2
Line 122: Line 107:
 
</source>
 
</source>
  
=== Python ===
+
=== Python 2 ===
  
 
<source lang="python">
 
<source lang="python">
Line 131: Line 116:
  
 
</source>
 
</source>
 +
 +
=== Python 3 ===
 +
 +
 +
<source lang="python">
 +
 +
def pressEnterToContinue():
 +
    print("Press enter to continue")
 +
    input()
 +
 +
</source>
 +
 +
= Kernel Driver =
 +
 +
* [[IIO kernel driver model]]
 +
* [[UIO kernel driver model]]
  
 
= bac à sable =
 
= bac à sable =
 +
[[Image:dessin.svg]]
 +
 +
* [[APF6_SP_DDR3_PINOUT]]
 +
* [[APF6_SP The full howto]]
 +
 +
== Wavedrom ==
  
[[Image:indus.png]]
+
If [https://github.com/Martoni/mediawiki_wavedrom wavedrom plugin] is installed on this wiki, we can see a beautiful waves bellow :
  
[[Fichier:plop.tar.bz2]]
+
<wavedrom>
 +
{ signal: [
 +
  { name: "clk",  wave: "p......" },
 +
  { name: "bus",  wave: "x.34.5x",  data: "head body tail" },
 +
  { name: "wire", wave: "0.1..0." },
 +
]}
 +
</wavedrom>

Revision as of 11:40, 18 September 2018

<< liste des membres


Mes petites bidouilles avec l'armadeus

Peripheral On Demand

Participation à la documentation ArmadeuS Project

Trash

Projets

Liens utiles

Somes usefull tricks

press a button

Here, function to «press enter to continue» on apf in different languages :

setbit /proc/driver/gpio/portFmode 13 1 # set pin as gpio
setbit /proc/driver/gpio/portFdir 13 0  # set pin as input
setbit /proc/driver/gpio/portFirq 13 1  # irq on rising edge

/usr/bin/testsuite/testbutton /dev/gpio/PF13 3

With testbutton program comming from target/linux/modules/fpga/wishbone_example/wb_button. Type «make» in this directory to compile it.

Logging with timestamps in seconds

#!/bin/sh
while true
do
LIGHT=$(cat /sys/class/hwmon/hwmon0/device/in3_input)
TIME=$(date +%s)
echo $TIME", sec, "$LIGHT", mV," >> log;
sleep 2
done

Press enter to continue

C

#include <stdio.h>

void pressEnterToContinue(void)
{
    printf("Press enter to continue\n");
    getc(stdin);//XXX 
    while( getc(stdin) != '\n') ; 
}

C++

#include <stdio.h> //XXX
#include <iostream>

void pressEnterToContinue(void)
{
    cout << "Press enter to continue" << endl;
    getc(stdin); //XXX
    std::cin.ignore( std::numeric_limits <std::streamsize> ::max(), '\n' );
}

Python 2

def pressEnterToContinue():
    print "Press enter to continue"
    raw_input()

Python 3

def pressEnterToContinue():
    print("Press enter to continue")
    input()

Kernel Driver

bac à sable

Dessin.svg

Wavedrom

If wavedrom plugin is installed on this wiki, we can see a beautiful waves bellow :