Difference between revisions of "User:FabienM"
From ArmadeusWiki
(→Liens utiles) |
(→Wavedrom ?) |
||
(41 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[MemberList | << liste des membres]] | [[MemberList | << liste des membres]] | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
Line 31: | Line 7: | ||
* [[Petits trucs en vrac]] | * [[Petits trucs en vrac]] | ||
* [[Led sensor]] | * [[Led sensor]] | ||
+ | * [[vim | The best editor in the world]] | ||
+ | |||
+ | = '''P'''eripheral '''O'''n '''D'''emand = | ||
+ | |||
+ | * [[Specification feedback]] | ||
= Participation à la documentation ArmadeuS Project = | = Participation à la documentation ArmadeuS Project = | ||
Line 41: | 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 == | ||
* Camera [[C38A]] with chip ov7620 | * Camera [[C38A]] with chip ov7620 | ||
+ | * Camera omnivision [[VC21CC1]] | ||
* [[Robotic]] | * [[Robotic]] | ||
* [[Home monitoring energy | Compteur d'énergie électrique]] | * [[Home monitoring energy | Compteur d'énergie électrique]] | ||
* [[OOCP]] (Only One Cable Project) | * [[OOCP]] (Only One Cable Project) | ||
− | + | * [[Use MySQL-client on apf9328]] | |
− | + | * [[Light-APF27Dev | Light-APF27Dev project ]] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | * | + | |
− | * | + | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
= Liens utiles = | = Liens utiles = | ||
Line 66: | 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 | ||
+ | * [[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 = | ||
+ | == press a button == | ||
+ | Here, function to «press enter to continue» on apf in different languages : | ||
+ | |||
+ | <source lang="bash"> | ||
+ | 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 | ||
+ | </source> | ||
+ | |||
+ | 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 == | ||
+ | |||
+ | <source lang="bash"> | ||
+ | #!/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 | ||
+ | </source> | ||
+ | |||
+ | == Press enter to continue == | ||
+ | === C === | ||
+ | |||
+ | <source lang="C"> | ||
+ | #include <stdio.h> | ||
+ | |||
+ | void pressEnterToContinue(void) | ||
+ | { | ||
+ | printf("Press enter to continue\n"); | ||
+ | getc(stdin);//XXX | ||
+ | while( getc(stdin) != '\n') ; | ||
+ | } | ||
+ | |||
+ | |||
+ | </source> | ||
+ | |||
+ | === C++ === | ||
+ | <source lang="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' ); | ||
+ | } | ||
+ | |||
+ | </source> | ||
+ | |||
+ | === Python 2 === | ||
+ | |||
+ | <source lang="python"> | ||
+ | |||
+ | def pressEnterToContinue(): | ||
+ | print "Press enter to continue" | ||
+ | raw_input() | ||
+ | |||
+ | </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 = | ||
+ | [[Image:dessin.svg]] | ||
+ | |||
+ | * [[APF6_SP_DDR3_PINOUT]] | ||
+ | * [[APF6_SP The full howto]] | ||
+ | |||
+ | == Wavedrom == | ||
+ | |||
+ | If [https://github.com/Martoni/mediawiki_wavedrom wavedrom plugin] is installed on this wiki, we can see a beautiful waves bellow : | ||
+ | |||
+ | <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
Contents
Mes petites bidouilles avec l'armadeus
Peripheral On Demand
Participation à la documentation ArmadeuS Project
- How to make a VHDL design in Ubuntu/Debian
- How to simulate post synthesis and post place & route design with GHDL
Trash
- Description of FPGA-IMX interface for APF27
- Description of FPGA-IMX interface for APF51
- FPGA on APF introduction
- Button and LED
Projets
- Camera C38A with chip ov7620
- Camera omnivision VC21CC1
- Robotic
- Compteur d'énergie électrique
- OOCP (Only One Cable Project)
- Use MySQL-client on apf9328
- Light-APF27Dev project
Liens utiles
- Projets sourceforge
- Site entreprise
- Les codes de retour d'erreurs : http://www.opengroup.org/onlinepubs/007908799/xsh/errno.h.html
- Buildroot_Packages
- 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 emscripten qui permet de compiler du C++ vers le javascript (HTML5).
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
Wavedrom
If wavedrom plugin is installed on this wiki, we can see a beautiful waves bellow :