Difference between revisions of "User:FabienM"
From ArmadeusWiki
m (→Mes petites bidouilles avec l'armadeus) |
(→Wavedrom ?) |
||
(53 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
[[MemberList | << liste des membres]] | [[MemberList | << liste des membres]] | ||
− | |||
− | + | = Mes petites bidouilles avec l'armadeus = | |
− | + | * [[Une led qui clignote avec le spartan 3]] | |
+ | * [[Petits trucs en vrac]] | ||
+ | * [[Led sensor]] | ||
+ | * [[vim | The best editor in the world]] | ||
− | + | = '''P'''eripheral '''O'''n '''D'''emand = | |
− | + | ||
+ | * [[Specification feedback]] | ||
− | == | + | = 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]] | ||
− | * | + | * [[Using FPGA]] |
− | * | + | * [[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 == | ||
− | + | * Camera [[C38A]] with chip ov7620 | |
+ | * Camera omnivision [[VC21CC1]] | ||
+ | * [[Robotic]] | ||
+ | * [[Home monitoring energy | Compteur d'énergie électrique]] | ||
+ | * [[OOCP]] (Only One Cable Project) | ||
+ | * [[Use MySQL-client on apf9328]] | ||
+ | * [[Light-APF27Dev | Light-APF27Dev project ]] | ||
− | + | = Liens utiles = | |
− | + | ||
− | + | * Projets [http://sourceforge.net/projects/armadeus sourceforge] | |
+ | * 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 | ||
+ | * [[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 :