海思MPP平台MIPI接口屏幕调试
本文以Hi3516DV300为例
参考资料:
1.《HiMPP V4.0 媒体处理软件 FAQ.pdf》关于lcd屏和vo的部分2.《MIPI使用指南.pdf》3.开机画面使用指南.pdf4.《LCD╱MIPI 屏幕对接 使用指南.pdf》5.《HiMPP V4.0 媒体处理软件开发参考.pdf》中的视频输出章节6.《Hi3516DV300 专业型 Smart IP Camera SoC 用户指南.pdf》
0x00. MIPI屏参数和VO参数的确定LCD&MIPI设备的属性:
先了解MIPI DSI协议的LCD屏时序相关的参数:
粉红色区域为 MIPI 屏显示的有效区域, 两条直线即 MIPI 屏的宽高;
紫色区域的两条直线为行同步前后消隐区像素个数以及帧同步前后消隐区行数;
淡黄色区域的两条直线为行同步脉冲区像素个数以及帧同步脉冲区行数;
对于一块新的屏幕,首先需要确定屏的下列显示参数。VS(VSA),VFP,VBP,VACT,HS(HAS),HBP,HFP,HACT,PCLK,PHY_DATA_RATE,这些参数需要从对应的屏的手册中获取或者计算得来。如下 ...
字节序中的位序
开篇关于字节序很多书都有讲到,去网上搜字节序或者大端序、小端序,有很多介绍的文章,但是这些文章基本只讲到大端序或者小端序中字节层面数据是如何存储的,没有讲到位序是如何的。之前也没想过位序的问题,直到前段时间看到linux kernel中linux/tcp.h的定义:
1234567891011121314151617181920212223242526272829303132333435struct tcphdr { __u16 source; __u16 dest; __u32 seq; __u32 ack_seq;#if defined(__LITTLE_ENDIAN_BITFIELD) __u16 res1:4, doff:4, fin:1, syn:1, rst:1, psh:1, ack:1, urg:1, ece:1, cwr:1;#elif defined(__BIG_ENDIAN_BITFIELD) __u16 doff:4, res1:4, cwr:1, ece:1, urg:1, ack:1, psh:1, rs ...
win10下挂载阿里云网盘用于同步文件
收集了一些电子书,大部分是PDF文件,看的时候会直接在PDF文件上划一些重点和标注,这就需要一种能同步修改的方法。显然普通的存储网盘达不到要求,普通网盘要同步只能有点修改就上传,太麻烦。
尝试一 git仓库首先想到的是github或者gitlab存储,修改后通过git push保存修改内容。但是书有2个G多,github单个仓库限额1G,gitlab虽然页面写着git push and GitLab project imports are limited to 5 GB per request through Cloudflare.但是实际测试了下,发现还是失败了。况且实际使用时还挺麻烦,还得自己commit,push,最终放弃了。
尝试二 百度网盘、坚果云、和彩云等的同步功能。百度网盘自带有同步盘功能—同步空间。试了下还不错,还有同步记录,但是有流量限制,每个月1G,我这2G的电子书,完成同步需要2个月,太费劲了。包括坚果云也一样,有流量限制,放弃了。和彩云没有流量限制,但是网盘空间只给20G,太少了,万一以后东西多了之后,存不下。
尝试三 阿里云盘本地挂载想起之前给路由器刷Ope ...
实现一些经典经典排序算法
冒泡排序、选择排序、插入排序、堆排序、希尔排序、计数排序、归并排序、快速排序、桶排序、基数排序各排序算法的时间复杂度:
图片来源:https://en.wikipedia.org/wiki/Sorting_algorithm
冒泡排序冒泡排序在1956年就已经被研究,不用多说了,经典中的经典了。
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152/** * @file bubble.c * @author your name (you@domain.com) * @brief 冒泡排序 * @version 0.1 * @date 2022-04-15 * * @copyright Copyright (c) 2022 * */#include "stdio.h"void swap(int* x, int* y){ if (x != y) { *x = *x ^ *y; ...
二叉堆
二叉堆(英语:binary heap)是一种特殊的堆,二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足堆特性:父节点的键值总是保持固定的序关系于任何一个子节点的键值,且每个节点的左子树和右子树都是一个二叉堆。当父节点的键值总是大于或等于任何一个子节点的键值时为“最大堆”。当父节点的键值总是小于或等于任何一个子节点的键值时为“最小堆”。—-Wikipedia
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411 ...
质数判断和筛质数
给定一定范围的自然数,找出里面所有的质数主要有2种方式:
遍历每一个数并判断是不是质数,如果是就存起来。
借助一定的算法直接筛选。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180 ...