linux学习笔记-xc

2018年3月18日 18:10:41
踏上学linux的不归路。
终极目标:透彻理解嵌入式linux(大彻大悟的级别)


2018年4月8日 21:18:12
rm -f  强制删除文件
2018年4月12日 16:05:21
mov     r1, #0x0

ldr   r1, =0x00000000
2018年4月15日 19:21:31
学sdram:
终于知道为什么要从0x30000000启动了 因为收2440手册就是这么写的 BANK6的地址
Steppingstone这个东西就是应对nandflash的,先把前4k字节从nandflash复制到sram里,然后之后在从sram复制到sdram
那为什么不直接从nandflash到sdram呢?
因为sdram还没初始化啊!
所以初始化sdram的代码需要在sram里过渡下。


从sram里如何跳转到sdram?
通过改变pc的值
改变成多少?
看你汇编文件里写了多少。。设置链接文件里的程序起始地址为 0x30000000 即可
因为sdram使用前需要初始化,所以初始化以及之前的代码需要在sram里执行,但是以后的大部分代码都是在sdram里执行的,因此链接文件就不能写0x0,写成0x30000000(其实我觉得还可以写成)所以0x30000000其实并不是真实的第一个程序执行的地址,直到pc转到0x3000xxxx,在这句话以后,因为sdram初始化好了,就可以真正跳到sdram里去。这个值不一定,是编译后自动分配的,取决于这一行代码之前的代码量,不过肯定是在sdram里的,




2018年4月19日 23:19:49
exec 0</dev/tty1   输入重定向
exec 1>/dev/tty1   输出重定向
一句话直接可以串口输入,lcd输出!
前几天还去论坛问这种sb问题!唉!


2018年4月27日 16:02:20
ps 进程状态
2018年4月28日 21:52:11
mount -a 
2018年4月30日 22:30:14
printf函数为什么不加\n就不能输出?
查了下 
unix上标准输入输出都是带有缓存的,一般是行缓存。


对于标准输出,需要输出的数据并不是直接输出到终端上,而是首先缓存到某个地方,当遇到行刷新标志或者该缓存已满的情况下,才会把缓存的数据显示到终端设备上。


ANSI C中定义换行符'\n'可以认为是行刷新标志。所以,printf函数没有带'\n'是不会自动刷新输出流,直至缓存被填满。






解决方案:


方案1、在printf里加"\n"


方案2、fflush(stdout);
刷新标准输出缓冲区,把输出缓冲区里的东西打印到标准输出设备上 


2018年5月18日 18:11:17
知道原理之后感觉并没有什么用。
始终理解不了本质,真的就像隔了一层雾一样。
2018年5月19日 16:13:02
2018年5月25日 14:25:35
chmod -R 777 /  改变文件里所有文件权限
.tar.gz     格式解压为          tar   -zxvf   xx.tar.gz
.tar.bz2   格式解压为          tar   -jxvf    xx.tar.bz2


2018年5月25日 22:49:53
移植qt后接上usb后 右半部分的键盘失效
解决:
QWS_KEYBOARD="USB:/dev/event1"


这样就行了。。
终于解决了 qt接usb




2018年5月27日 01:27:44
串口输入发现要按回车才能得到处理?
解决:应用层设置为串口原始模式即可,不必动驱动层


模拟键盘输入看不到结果。蛋疼。


2018年5月27日 01:50:54


找到原因了,驱动里需要注册支持的按键!
之前视频里的例子只有L S shift enter 四个按键
这次我干脆把120个按键全部注册了
2018年5月27日 02:45:32
成功输入按键 不过出现了一个和昨天一样的结果:
右半部分的键盘失效
这个qt真的有毒


2018年5月27日 15:19:50
又好了 不用改QWS_KEYBOARD
注册一个输入设备
然后上报按键事件就行
具体怎么上报就是往eventx写就行。


总结:


目标:实现用串口控制qt界面(串口映射到键盘,看来底层不需要改)
写一个应用程序接收串口输入再上报一个按键事件即可。
之后就是映射的工作。
主要就是串口输入的时候方向键变成了3个字符
还有就是cfmakeraw函数设置为原始模式即可不按回车立即接收




2018年5月29日 22:04:38
昨天一直在移植sdl库+fceu,想在qt作为一个应用上运行
发现不行
应该是qt和fceu的兼容问题
干脆直接运行fceu就行了
然而发现可以设置按键之后没有反应
回去后想了想,既然可以设置按键,那就说明int_event没有问题
说明sdl就是读取event1来获取按键
那就只能是按键没有延时了!
加了点usleep 果然行了!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值