Research & Development repository about cheap cameras (mainly XM manufactured)
PRs with additional information and corrections are welcome.
Where to begin?
- OpenIPC wiki
- English XM FAQ. Thanks to @vbelov42 for translation from Russian.
- Russian XM FAQ.
- How to get telnet on XM camera
Articles/books for newbies
- George Hilliard. Mastering Embedded Linux, series of articles
- Frank Vasquez, Chris Simmonds. Mastering Embedded Linux Programming, 3rd Edition
- Linux Inside. A book-in-progress about the linux kernel and its insides
- Alberto Liberal de los Ríos. Linux Driver Development for Embedded Processors, 2nd Edition
- Bootlin. Linux Kernel training materials
- Introducing ARM assembly language
Telegram groups
Chip families information
Hardware structuring (courtesy of OpenHisiIpCam project):
Chips | shortcode |
---|---|
hi3516cv100, hi3518cv100, hi3518ev100, hi3518av100 | hi3516cv100 |
hi3516dv100, hi3516av100 | hi3516av100 |
hi3518ev200, hi3518ev201, hi3516cv200 | hi3516cv200 |
hi3519v101, hi3516av200 | hi3519v100 |
hi3516ev100, hi3516cv300 | hi3516cv300 |
hi3516dv300, hi3516av300, hi3516cv500 | hi3516cv500 |
hi3516ev200, hi3516dv200, hi3518ev300, hi3516ev300 | hi3516ev200 |
hi3519av100 | hi3519av100 |
hi3559av100 | hi3559av100 |
gk7205v200, gk7605v100, gk7202v300, gk7205v300 | gk7205v300(*) |
nt98562, nt98566 | nt9856x |
ssc337, ssc335 | ssc335 |
xm510 | xm510 |
xm550, xm530 | xm530 |
If you know about newer versions of full datasheets or can share them for different camera types don't hesitate to make a PR.
(*) Successors of Hisilicon chips
Hisilicon | Goke |
---|---|
hi3516ev200 | gk7205v200 |
hi3516dv200 | gk7605v100 |
hi3516ev300 | gk7205v300 |
hi3518ev300 | gk7202v300 |
Performance and sensors
Chip | CPU | Encoder | JPEG substream | Sensors |
---|---|---|---|---|
hi3516av100 | A7 600MHz | 5MP@30fps, 1080p@60fps, 1080p@30fps | 5MP@8fps | IMX178, IMX385, IMX290, IMX185, OV4689, AR0237 |
hi3516dv100 | A7 600MHz | 5MP@15fps, 3MP@30fps, 1080p@30fps | 5MP@8fps | IMX178, IMX385, IMX290, IMX185, OV4689, AR0237 |
hi3519v101 | A17 1.25GHz + A7 800MHz | 12MP@15fps, 8MP@30fps | 8MP@30fps | IMX226, IMX274 |
hi3516av200 | A17 1.25GHz + A7 800MHz | 8MP@15fps, 6MP@30fps | 8MP@30fps | IMX274, OS08A10 |
hi3516dv300 | A7 900MHz (NNIE 1.0Tops) | 5MP@20fps, 1080p@30fps | 16MP@10fps | IMX385, IMX327 |
hi3516cv500 | A7 900MHz (NNIE 0.5Tops) | 3MP@20fps, 1080p@30fps | 16MP@10fps | IMX327 |
hi3518ev200 | ARM926 540MHz | 720p@30fps | 2MP@5fps | AR0130, OV9732, OV9712, F02 |
hi3516ev100 | ARM926 800MHz | 1080p@20fps | 2MP@5fps | IMX291, IMX323, SC3235 |
hi3516cv300 | ARM926 800MHz | 1080p@30fps | 2MP@5fps | IMX291, IMX323, SC3235 |
hi3516ev300 | A7 900MHz | 4MP@15fps, 3MP@30fps | 4MP@5fps | IMX335 |
hi3516ev200 | A7 900MHz | 3MP@20fps, 1080p@30fps | 3MP@5fps | SC3235, IMX307 |
Hardware
How to add new hardware support
- Your new ARM SoC Linux support check-list
- Sensor
- Flash
SDKs
HiSilicon
Family | Kernel | U-Boot | MPP |
---|---|---|---|
hi3516av100 | 3.4.35 | v2 | |
hi3516av200 | 3.18.20 | v3 | |
hi3516cv100 | 3.0.8 | 2010.06-svn | v1 |
hi3516cv200 | 3.4.35 | v2 | |
hi3516cv300 | 3.18.20 | 2010.06-svn1098 | v3 |
hi3516cv500 | 4.9.37 | v4 | |
hi3516ev200 | 4.9.37 | 2016.11-g2fc5f58 | v4 |
hi3516ev300 | 4.9.37 | v4 | |
hi3519av100 | 4.9.37 | v4 | |
hi3559av100 | 4.9.37 | v4 |
HiSilicon SDK naming principles:
Hi35xxVxxxRxxxCxxSPCxxy
Each field is explained as follows:
Hi35xx
, segment contains chip typeVxxx
segment contains the type of chip versionRxxx
segment contains the release package type:R001
: Linux SDKR002
: Huawei LiteOS SDKR003
: Linux RDK reference design- other R bit is not used
Cxx
segment contains compiler specific environmentC00
: FPGA-basedC01
: type A compiler (e.g.uclibc
based sysroot)C02
: type B compiler (e.g.glibc
based sysroot)C03
andC04
are reservedC05
: Huawei LiteOSC09
: based on Demo version
SPCxxy
segment shows current versionxx
for each next release will be incremented by 1 (releases with fixed errors, additional features, etc)xx0
indicates normal version, for temporary versions last character could be incremented by 1 in range from1-9
andA-z
.
XiongmaiTech
Platform | Version | Update time | Download link |
---|---|---|---|
Windows | V4.0.8.80 | 2020-02-27 | link |
Mac | 2018-12-17 | link | |
Linux | V1.0.2.0 | 2020-01-10 | link |
Latest versions were taken from official site
Sophisticated usage
Development
Low level programming
Cross-compilation
Development using SDK
Debugging
- Debugging on board using gdbserver
- Ltrace debug