ARM NEON Usage Note

简介 SIMD, 即Single Instruction Multiple Data(单指令多数据)的并行操作。CPU 在处理向量数据时有它的局限性。CPU的优势在于处理复杂多变的指令,而对于那种大数据量的重复性操作,ARM 为了增加处理效率,增加了这种并行处理模块, 即NEON(Advanced SIMD)。主要是在ARMv7 架构后的处理器使用。 NEON 的主要 components: NEON register file NEON integer execute pipeline NEON single-precision floating-point execute pipeline NEON load/store and permute pipeline NEON 指令和 floating-point 指令使用的是相同的 register file。不同于ARM core的register file。此 register file 可以以 32-bit, 64-bit, 128-bit 方式访问。 The contents of the NEON registers are vectors of
Read More »

H.264 codec Note

•       Elements of a video Sequence o    Frames o    Slices o    MBs (macroblocks) •       Frame Types o    I-, P-, B-frames o    GOP (group of picture), specifies the order in which intra– and inter-frames are arranged. o    NAL (Network Abstraction Layer) v  SPS (Sequence parameter set) v  PPS (Picture parameter  set) v  IDR (Instantaneous Decoder Refresh),
Read More »

Plans

Recently, I want to do some hardware acceleration applcations like using zynq to mining. This will help me more skillful in software and hardware combinational developments. This type of use case may be used in lot of scenes. Such hardware like DSP, VPU, GPU, neural stick and many fpga cores outside of CPU. I have
Read More »

使用 qemu 调试 linux kernel

  在 Ubuntu 中build kernel 参考如下: [Ref] https://wiki.ubuntu.com/KernelTeam/GitKernelBuild    可以直接在宿主机调试kernel, 但是当发生崩溃之后,工作环境又要重新配置。   所以考虑用 qemu,因为它有个option: -kernel, 可以直接引导kernel。比 VirtualBox 等虚拟机更快速更方便。 尝试使用 qemu 直接启动主机上的kernel  $ sudo qemu-system-x86_64 -kernel /boot/vmlinuz-`uname -r` 这会提示缺少文件系统 可以使用 debootstrap 构建一个rootfs  IMG=qemu-image.img DIR=mount-point.dir qemu-img create $IMG 1g mkfs.ext2 $IMG mkdir $DIR sudo mount -o loop $IMG $DIR sudo debootstrap --arch amd64 jessie $DIR sudo umount $DIR
Read More »

git 相关

gitosis 搭建: git 本身是一个分布式的版本管理系统,但如果要设置一个中心库方便很多开发者同步,或者像SVN 一样使用它,就需要搭建git on the server – gitosis。 详情参考: https://git-scm.com/book/en/v1/Git-on-the-Server-Gitosis ubuntu:~$ sudo apt-get install git-core openssh-server openssh-client ubuntu:~$ sudo apt-get install python-setuptools ubuntu:~$ git config --global user.name "myname" ubuntu:~$ git config --global user.email "******@gmail.com" ubuntu:~$ git clone https://github.com/res0nat0r/gitosis.git ubuntu:/tmp$ cd gitosis/ ubuntu:/tmp/gitosis$ sudo python setup.py install ubuntu:/tmp/gitosis$ sudo useradd -m git ubuntu:/tmp/gitosis$ sudo passwd
Read More »

YUV 图像格式

Y:亮度分量    UV:色度分量        Y与RGB的演算关系为:Y = 0.2126 R + 0.7152 G + 0.0722 B   YUV4:2:2或4:2:0都是指的Y分量和UV分量在一个像素点中占有的平均比例。 YUV422:水平方向上的UV分量减半了 YUV420:水平垂直方向都会减半   YUV 4:4:4采样,每一个Y对应一组UV分量。 eg: YUVYUV YUV 4:2:2采样,每两个Y共用一组UV分量。 eg: YUYVYUYV YUV 4:2:0采样,每四个Y共用一组UV分量。 eg:   YUYVYUYV YYYY    以黑点表示采样该像素点的Y分量,以空心圆圈表示采用该像素点的UV分量。

嵌入式linux 开发中常用工具安装笔记

Samba server     # apt install samba samba-common # vim /etc/samba/smb.conf 添加: security = user [shuji] comment = share dir path = /srv/samba browseable = yes writable = yes # useradd public (不要用adduser, 否则还要禁用shell) # smbpasswd –a public # service smbd restart Samba client smbclient -L //192.168.1.10 -U dev smbclient //192.168.1.10 -U dev   nfs
Read More »

petalinux use guide summarize

petalinux 是针对 Xilinx FPGA-based SOC designs 的 embedded linux system development kit 。 包含了: Yocto Extensible SDK Minimal downloads XSCT and tool chains PetaLinux CLI tools   详情参考 PetaLinux Tools Reference Guide。 版本: v2018.2 June 6, 2018    不支持 ubuntu1804, 手贱装了ubuntu1804, 结果 build 的时候出现 Bitbake 运行不起来,google 一遍发现这版本petalinux  还是暂时不支持 ubuntu1804 ,遂重新装回1604. 总结: petalinux 安装, 略。 BSP
Read More »

recent new tech need to analysis and learn

reverse ssh tunnel nohup ssh -NfR 2222:localhost:22 root@106.12.13.xxx -p22 expect script   strip command Some useful line editing key bindings provided by the Readline library: Ctrl-A: go to the beginning of line Ctrl-E: go to the end of line Alt-B: skip one word backward Alt-F: skip one word forward Ctrl-U: delete to the beginning of
Read More »