Geekvee

Internet Coding Monkey

在进行linux主机上进行arm跨平台进行pure c++开发时,可能混有Neon intrinsic或者ARM assembly代码,此时进行代码编译和调试,可以使用standalone toolchain进行编译,使用gdb+gdbserver进行调试。

Read more »

  1. atomicAdd(dst, src):*dst += src

  2. atomicSub(dst, src):*dst -= src

  3. atomicOr(dst, src):*dst |= src

Read more »

比较跳转指令

比较指令

  • cmn指令

与cmp指令类似,不同的是cmn指令是将一个数与另一个数的相反数进行比较,并且在汇编过程中等同于adds指令

Read more »

算术与移位指令

加减法指令

  • add指令
  1. 立即数加法指令

    ARM文档描述如下

    ADD Wd|WSP, Wn|WSP, #imm{, shift} ; 32-bit

    ADD Xd|SP, Xn|SP, #imm{, shift} ; 64-bit

    Read more »

  1. 自定义class,存在析构函数,那么需要同时定义或者删除拷贝构造函数和拷贝赋值函数。原因是,在拷贝构造或者拷贝复制的过程中,为浅拷贝,当程序结束,析构函数介入时,可能存在析构两次的情况。
Read more »

输入图p,导向图I, 输出图q,\(\Rightarrow q_i = \sum_jW_{ij}(I)p_j\),其中i,j为pixel index,\(W_{ij}\)是导向图I的一个函数,与输入图p独立。

假设输出图q在一个窗口\(w_i\)中是导向图I的相信变换,即:\(q_i = a_kI_i + b_k, \forall i \in w_k\)

Read more »