Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Egle Systems
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
oshlumh
July 13, 2014
Programming
0
110
Egle Systems
Desarrollo de Hardware y Software para ARM, Sistemas embebidos y Smart Devices
oshlumh
July 13, 2014
Tweet
Share
Other Decks in Programming
See All in Programming
オブザーバビリティ駆動開発って実際どうなの?
yohfee
3
830
Angular-Apps smarter machen mit Gen AI: Lokal und offlinefähig - Hands-on Workshop!
christianliebel
PRO
0
110
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
260
go directiveを最新にしすぎないで欲しい話──あるいは、Go 1.26からgo mod initで作られるgo directiveの値が変わる話 / Go 1.26 リリースパーティ
arthur1
2
550
OTP を自動で入力する裏技
megabitsenmzq
0
100
AI時代のソフトウェア開発でも「人が仕様を書く」から始めよう-医療IT現場での実践とこれから
koukimiura
0
150
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
490
文字コードの話
qnighy
44
17k
Agentic AI: Evolution oder Revolution
mobilelarson
PRO
0
170
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
520
Codex の「自走力」を高める
yorifuji
0
1.2k
ベクトル検索のフィルタを用いた機械学習モデルとの統合 / python-meetup-fukuoka-06-vector-attr
monochromegane
2
420
Featured
See All Featured
Believing is Seeing
oripsolob
1
83
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
72
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
240
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
1.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
550
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
220
What's in a price? How to price your products and services
michaelherold
247
13k
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
960
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
A designer walks into a library…
pauljervisheath
210
24k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
http://www.eglesys.com
Desarrollo de hardware/software para ARM Sistemas embebidos Smart devices
Es28-SOM ARM926EJ-S™ 454MHz 256MB RAM NAND + MMC 2xCAN-Bus, 2xEthernet,
5xUART, USB Host + OTG
Es335-SOM Cortex-A8™ 1000MHz 1024MB RAM GPU NAND + MMC 2xCAN-Bus,
Ethernet, EtherCAT, PROFINET, PROFIBUS, 6xUART, USB 2xOTG
Es6-SOM 4xCortex-A9™ 1200MHz 4096MB RAM GPU + VPU (4 pantallas)
NAND + MMC + SATA + PCIe 2xCAN-Bus, Ethernet GBit, 5xUART, USB Host + OTG
Sistemas operativos para Es6-SOM Linux embebido Ubuntu 12.04 LTS Android
4.2 Todos usan bootloaders y kernels adaptados al hardware
Linux embebido Sistema base con todo el soporte hardware y
lo mínimo para arrancar. Sin sistema de gestión de software. Las bibliotecas adicionales se instalan en /opt/<nombre> SDK de desarrollo.
None
SDK cross-toolchain + sysroot
Toolchain: Utilidades para crear un programa: gcc, ld, gdb, etc...
Host: Máquina donde trabajamos. Target: Máquina que ejecutará el software. Compilador cruzado: Compilador que se ejecuta en el host y crea ejecutables para el target.
El prefijo indica el tipo de binario que crea. No
es standard. arm-fsl-linux-gnueabi-gcc
Utilizando un compilador nativo: /usr/include para cabeceras /usr/lib bibliotecas compartidas
(*.so) Compilación cruzada: <sysrootdir>/usr/include cabeceras <sysrootdir>/usr/lib bibliotecas compartidas (*.so)
$ export SDKDIR=/opt/egle/es6/2013.10 $ export SYSROOT=${SDKDIR}/sysroot $ export TOOLCHAINDIR=${SDKDIR}/fsl-linaro-toolchain/bin $
export PATH=${PATH}:${TOOLCHAINDIR} $ arm-fsl-linux-gnueabi-gcc \ -I${SYSROOT}/usr/include \ -I${SYSROOT}/opt/xenomai2/include \ -L${SYSROOT}/usr/lib \ -L${SYSROOT}/opt/xenomai2/lib \ -lxenomai -lnative \ -Wl,-rpath,/opt/xenomai2/lib \ rttest.c -o rttest
El parámetro remote path para el linker: -Wl,-rpath,[libdir] permite incluir
en el binario rutas adicionales de búsqueda de bibliotecas en runtime.
$ file rttest rttest: ELF 32-bit LSB executable, ARM, EABI5
version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.31, not stripped
Compilación de bibliotecas Autotools, Cmake, etc... Depende del proyecto.
$ cd linux $ export SDKDIR=/opt/egle/es6/2013.10 $ export TOOLCHAINDIR=${SDKDIR}/fsl-linaro-toolchain/bin $
export PATH=${PATH}:${TOOLCHAINDIR} $ export ARCH=arm $ export CROSS_COMPILE=arm-fsl-linux-gnueabi- $ make <target>
Vale, ¿pero como depuro?: JTAG gdbserver
JTAG
$ scp rttest
[email protected]
:/root/rttest $ ssh
[email protected]
"gdbserver :5000 /root/rttest"
$ gdb (gdb) target remote 192.168.1.110:5000 (gdb) b main (gdb) continue
$ scp rttest
[email protected]
:/root/rttest $ gdb (gdb) target remote |
ssh -T 192.168.1.110 gdbserver - /root/rttest (gdb) b main (gdb) continue
IDEs: Eclipse CDT, qtcreator, Code::Blocks... La mayoria permite seleccionar el
compilador, sysroot, etc... También suelen permitir sesiones de depuración remotas.
FIN