ARM開發簡介
Cross compiler: gcc -- eabi
An embedded-application binary interface (EABI)
Upload to board
bootloader -> SD
gkermit
wget, ftp, ssh
ARM架構
ARM-Linux + Qemu
Debian Armel 6.0 - armv5t
Synology DS211+ armv5t
開發的注意事項?
build flag
-g for debug : storage issue
eu-strip : divide symbol and binary separately for user space
can use eu-strip with kernel?
debug
light blinking
meaningful logs: after prodcut release
printf & printk
syslog
gdb + symbol which is devided from eu-strip
gdb remove : gdb client + gdb server : kernel and user-space
qemu + gdb
Another topic:
jTag
memory usage
leaks -> valgrind for arm
wrapper -> malloc , free, realloc …: counting in wrapper
initialize - allocate memory at once : memory pool
avoid allocate and free with kernel if there is content-switch
resgister gcc/g++ “libmemmock”
replace pointer such as: __malloc_pointer
Is good for working C++ with arm?
will it use more?
cpu load
benchmark: how to ? ask jserv
image footprint
Is good for working C++ with arm?
not good
如何挑選開發板?
armv5t compatible
ARM11-> armv6 → arm-linux build hello.
Frindly ARM - Tiny6410 - gcc-4.4
Arm linux : gcc-4.3
實戰演練(-)編譯與執行你的第一個ARM程式?
demo hello
未來社群發展方向?
We will use the following board
Friendly Arm: Tiny6410, mini-2440