awfans 说:zhuacai 说:大家好,lichee派BSP内核编译教程可以在荔枝上用视频吗
可以海豚派开发板开机启动一个行车记录录像软件(newcdr), 可以录制h264压缩的mp4文件到tf卡,说明视频采集,压缩,显示是没有问题了,
newcdr有完整的源码,只是要变成自己的知识还需要时日梳理。
我没有找到解码mp4并显示的源码,不过应该问题不大。awfans哥,newcdr录像软件用什么什么开发的呢,自己可以开发软件在上面跑么
newcdr用C++写的, 基于全志camdroid平台,大量使用了camdroid 里面的framework.
你照着晕哥的海豚派入坑教程做就就可以编译成功,然后慢慢剪裁newcdr.
按这个帖子, 把 msyh.ttf 微软雅黑字体拷贝到 文件系统试一试,
可能Qt代码要指定字体,
这个字体比较大, 要看下文件系统容量是否够大。
#include <rfb/rfb.h>
int main(int argc,char** argv)
{
rfbScreenInfoPtr server=rfbGetScreen(&argc,argv,400,300,8,3,4);
server->frameBuffer=malloc(400*300*4);
rfbInitServer(server);
rfbRunEventLoop(server,-1,FALSE);
return(0);
}
如果你不想下载编译 libvncserver 的源码,那么直接执行下面的安装命令也可以:
sudo apt-get install libvncserver-dev
gcc -o test test.c -lvncserver -lpthread -lgnutls -lgcrypt -lz -ljpeg -lresolv
短短几行代码实现一个vnc server.
短短几行代码就可以构建一个简单的 vnc 服务端程序:
https://libvnc.github.io/
#include <rfb/rfb.h>
int main(int argc,char** argv)
{
rfbScreenInfoPtr server=rfbGetScreen(&argc,argv,400,300,8,3,4);
server->frameBuffer=malloc(400*300*4);
rfbInitServer(server);
rfbRunEventLoop(server,-1,FALSE);
return(0);
}
sudo apt-get install libtool
sudo apt-get install vncviewer
wget https://github.com/LibVNC/libvncserver/archive/LibVNCServer-0.9.11.tar.gz
tar xvf LibVNCServer-0.9.11.tar.gz
cd LibVNCServer-0.9.11
./autogen.sh
./configure
make
cd examples
./camera
vncviewer localhost
我们已经在这里博客了两次:这里和这里,但你知道吗?人们不停地问这个问题。
许多认真的客户在将其放入产品之前,都担心Allwinner SOC的长期可用性。
到目前为止,我们不知道该怎么回答,要问Allwinner(这是5岁的公司),如果他们会生产他们的SOC 10,比如10年,似乎不是个好主意,因为在中国文化中,他们从来不会直接说不,并会告诉你你想听到什么 ?
那么现在我知道它是如何工作的。我们从Allwinner得到的消息是,A10处理器的体积现在很低(因为它们的正常数量,这是可以理解的,因为现在没有人用A10生产平板电脑,当时价格大致相同,功耗更大)。所以Allwinner决定停止保持A10的库存。
那就是!A10处理器现在在2014年开始制造,现在在2014年退休,3年的正常生命周期是你应该期望的Allwinner产品。
但是,这是抓住!
我问他们Allwinner有兴趣为我们运行A10的最低数量是多少,保持相同的价格?
而今天的答案是:50Kpcs和90天的生产时间。所以即使处理器退役了,Allwinner也不想保留它的库存,你仍然可以订购他们的处理器,他们会为你生产!
这意味着长寿计划的问题已经结束了!
只要有足够的需求,我们可以继续生产Allwinner SOC板。
A10-OLinuXino-LIME 30欧元的板子将会永远生产下去,就像现在有相同的需求!我们刚刚为2015年3月交付的A10处理器订购了50K订单,我们在现场有足够的库存来保持生产。
https://olimex.wordpress.com/2015/04/07/how-50-000-a10-socs-from-allwinner-looks-like/
A10 Cortex-A8芯片是A10-OLinuXino-LIME EUR 30 Linux开源硬件计算机的核心。Allwinner于2012年开始生产A10,并于2014年底决定停止生产,因为平板电脑或Android IPTV加密狗制造商等大批量生产商都不想继续生产。
对于我们的业务类型 - 嵌入式应用来说,每隔几年更换一次设计就不好,所以我们问Allwinner是否能够为我们定制生产的A10数量最少,他们说5万个。我们于二零一四年十二月下达订单,并于三月三十日按我们的协议发货。现在我们有足够的库存来生产A10-OLinuXino-LIME一段时间,如果库存结束了,我们可以给Allwinner做新的订单,这样只要有需求就可以保留A10-OLinuXino-LIME的生产它。
A10-CARTON
正如你可以看到这些芯片是新鲜的,离开了20/03/2015工厂 ?
make menuconfig
[ ] Image configuration ---> Separate feed repositories ---> [ * ] Enable feed luci
LuCI --->看看这里有没有你想要的?
https://github.com/openwrt/luci
要这样才行哦:
./scripts/feeds update luci
./scripts/feeds install -a -p luci
root@Widora:~# opkg update
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ramips/mt7688/packages/base/Packages.gz.
Updated list of available packages in /var/opkg-lists/chaos_calmer_base.
Downloading http://downloads.openwrt.org/chaos_calmer/15.05.1/ramips/mt7688/packages/base/Packages.sig.
Signature check passed.root@Widora:~# opkg install luci
Unknown package 'luci'.
Collected errors:
* opkg_install_cmd: Cannot install package luci.
晕哥 说:XBOOT最新想法 说:如果没有spi-flash或者短路flash,应该这套方法就不行了,因为fex配置文件在flash里.
但只要有个可以能跑的原厂固件在里面,这个方法就是完全可行的,
进一步做个确认验证结果:
如果一直短路flash, 或把flash取下
运行 ./sunxi-fel -p write 0 hack_16k.bin; ./sunxi-fel exec 0
串口毛反应都没有
请问这个 hack_16k.bin 有什么办法可以快速从modify-SAST-M697-C100S-4MB-hack.img提出来?
落雁 说:goodgoodstudy 说:我这边没用中断,flash那边不清楚,中断要在驱动中注册的啊,我看到那个驱动程序也没用到中断
所以我准备采用在读写spi寄存器之前关闭定时器中断来关闭linux内核调度,在读取spi寄存器后开启定时器中断
这很麻烦,在rtos中就有关闭调度的方法,linux貌似没有用的同一个spi控制器的话,你确实要看看其他设备的驱动是否严谨。你最好与同一个总线上其他驱动保持机制一样。
这样,系统就帮你做好资源保护问题了。你要做的,就是保护自己代码,和复用正常情况下,复用寄存器的不同驱动程序在进行寄存器操作的时候,应该需要进行数据保护的
有一点你要注意,linux下的驱动,尤其是你这种与其他设备共享总线的情况,一定要遵循它的驱动框架。如果你直接操作寄存器,绕开其他设备遵循的框架,那么就很难保证资源被抢占了。
比如,大家都用r(){lock...unlock}读写总线下的设备。而你自己偏要自己一套,那你就要去读懂人家驱动每个细节做了啥。大家一个目的,都是保证我在用时,希望别人不要打扰,或是改了相关连的硬件资源
参考网址:
https://www.kancloud.cn/lichee/lpi0/418672
https://www.kancloud.cn/lichee/lpi0/418673
https://www.kancloud.cn/lichee/lpi0/327886
https://www.kancloud.cn/lichee/lpi0/331844
1. sudo apt-get install gcc-arm-linux-gnueabihf
2. 下载编译Uboot
git clone https://github.com/Lichee-Pi/u-boot.git -b v3s-spi-experimental
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LicheePi_Zero_800x480LCD_defconfig
make ARCH=arm menuconfig
time make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j4
3. 下载编译Kernel
git clone https://github.com/Lichee-Pi/linux.git -b zero-4.13.y
cd linux
make ARCH=arm licheepi_zero_defconfig
make ARCH=arm menuconfig #add bluethooth, etc.
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16 INSTALL_MOD_PATH=out modules
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16 INSTALL_MOD_PATH=out modules_install