摘要:
昨天搭建了板子从nfs系统启动,这样只要在开发机上编写程序编译,就可以在板子上测试运行了,编写了hello world 程序,用arm编译器编译,在主板上运行,提示出错:什么exception ((什么来的,这么简单的程序语法上应该没什么问题,可能出问题的应该是编译环境或者是运行环境。 一开始google一下,发现有人提出过相同问题,不过他们基本上是编译的时候加上了 -c选项,导致编译的是目标文件,而不是可执行文件,当然出错,而我没有。 想想是不是编译器的问题,将编好的可执行文件通过winscp上传到树莓派上运行,结果提示段出错,于是认为是编译器有问题,用以前好的虚拟机的ubuntu编... 阅读全文
摘要:
问题:客户端在nfs文件目录下读写文件提示Permission denied:解决方法:修改/etc/exports 中 文件共享方式为 no_root_squashno_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用! root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份。问题:目标板mount nfs文件时提示. 阅读全文
摘要:
环境:ubuntu目的:搭建嵌入式板子网络环境1)下载tftpd-hpa tftp-hpa 前者是服务器,后者是客户端$sudo apt-get installtftpd-hpa tftp-hpa2)配置服务器配置项$sudo emacs /etc/default/tftpd-hpaTFTP_USERNAME="tftp"TFTP_DIRECTORY="/home/hank/tftpboot"TFTP_ADDRESS="0.0.0.0:69"TFTP_OPTIONS="-l -c -s"3)重启tftp服务器$su 阅读全文
摘要:
问题:hank@hank-virtual-machine:/opt/Emb/linux-2.6.30.4$ sudo make menuconfig *** Unable to find the ncurses libraries or the *** required header files. *** 'make menuconfig' requires the ncurses libraries. *** *** Install ncurses (ncurses-devel) and try again. *** make[1]: *** [scripts/kconfig 阅读全文
摘要:
由于工作转向做嵌入式linux平台上的手台通信协议开发,所以想系统的学习一下嵌入式linux的开发流程。 向同事借了tq2440的板子来玩,一边看书,一边做实验,看的书是《嵌入式linux基础教程》,看完uboot那章,觉得需要边看边实践效果要好,那就对照板子的手册和其他资料,准备先编个uboot,烧到板子上去,一开始本来想用usb烧uboot的,结果不知道怎么搞的,操作几次后,板子就白屏了,串口也没打印东西,感觉不妙,应该是把 uboot擦掉了,好吧,学习本来就是应对各种挑战的过程,第一个挑战出现了。 看了一下手册,烧uboot有三种方式,前两种需要pc有并口,可惜我的电脑没有,只能... 阅读全文
摘要:
环境 :ubuntu用途:linux设备驱动编程环境步骤:1.查找可用内核源码apt-cache search linux-source2.下载内核源码 sudo apt-get install linux-source-XX,下载到/usr/src3.解压缩源码4.make oldconfig 配... 阅读全文
摘要:
嵌入式linux环境搭建花了两天时间,终于搭建好了板子上的linux驱动开发环境,不容易呀,做个笔记。首先搭建PC上的编译环境,因为编译的驱动是在板子上运行的,第一步当然需要安装交叉编译器,即arm-none-linux-gnueabi-gcc等或者是arm-linux-gcc等。其实比较简单,可以从网上下载或者光盘中得到,给出一个网址http://wiki.emsym.com/wiki/%E6%90%AD%E5%BB%BALinux%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83#.E4.BA.A4.E5.8F.89.E7.BC.96.E8.AF.91.E5.B7.A 阅读全文
摘要:
访问一个匿名union的成员就像访问普通变量,如:int main(){ union{ int i; char j; }; i = 2; j = 3;}如果匿名union在文件作用域内,则它必须被声明为static,如:staticunion{ int i; char j; };int f(){}int main(){}... 阅读全文
摘要:
看了《黑客与画家》,对作者Paul Graham经常提到的lisp语言产生强烈的好奇心,就尝试去学一下(虽然Paul Graham提醒25岁以上的老人就不要去尝试了),看的是Peter Seibel的Common Lisp,他推荐的编程工具就是lispbox,十分强大,如果你会emacs,使用起来基本没什么困难,可以说它就是一个lisp编程的IDE,十分强大。 lispbox启动后,emacs也就启动了,emacs的配置由lispbox默认,因为习惯了以前的emacs的配置,希望配置成以前那样,结果在emacs的执行目录下找不到.emacs,手动创建一个也不行,折腾了半天还不行,只能请求... 阅读全文
摘要:
转发帖子,已经不记得作者是谁,还是感谢原作者。int64_ta=1;printf("%d\n",a);结果是多少呢?当然是1,你可能会说。我们来看一下结果:1果然是1!但是你会不会以为是a首先被自动转化成了int类型,然后输入为1的呢?如果真这么简单,本文到此也该结束了。我们换一个写法:int64_ta=1;intb=2;printf("%d,%d\n",a,b);这次的结果是多少呢?1和2?真的吗?我们来看一下结果:1,0好吧,你可能该惊讶了。然而这个结果的确是对的。如果你还是觉得不可相信,我们再来看一个代码:uint32_tuin=1;printf( 阅读全文