1. 先编写代码,以helloworld.c为例子
1 #include<stdio.h> 2 #include<unistd.h> //这个文件是什么 3 main() 4 { 5 int i = 0; 6 while(1) 7 { 8 sleep(2); 9 printf("hell0 world!\n"); 10 } 11 }
2. 在ubuntu14环境下,用交叉编译器编译一下,生成.o文件,下一个问题,怎么通过串口把.o文件传给开发板?
3. 在串口log中看到,是不是4核板子,没任务的时候,关闭了另外3个?
1 [ 63.520839] CPU1: shutdown
4. #vi root/etc/init.d/rcS这个文件在哪里,开发板和源码我都没找到?原来在根文件系统里面\4412_SCP精英版\linux-QT\root.tar.gz\etc\init.d\rcS,打开看一下,把/bin/int_helloworld &加入最后一行,讯为用的是nfs网络文件系统的方式。把根文件系统打包一下。开机即可看到输出。
1 #! /bin/sh 2 PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin: 3 runlevel=S 4 prevlevel=N 5 umask 022 6 export PATH runlevel prevlevel 7 8 # 9 # Trap CTRL-C &c only in this shell so we can interrupt subprocesses. 10 # 11 trap ":" INT QUIT TSTP 12 /bin/hostname iTOP-4412 13 14 #/bin/mount -n -t proc none /proc 15 #/bin/mount -n -t sysfs none /sys 16 #/bin/mount -n -t usbfs none /proc/bus/usb 17 #/bin/mount -t ramfs none /dev 18 [ -e /proc/1 ] || /bin/mount -n -t proc none /proc 19 [ -e /sys/class ] || /bin/mount -n -t sysfs none /sys 20 [ -e /dev/tty ] || /bin/mount -t ramfs none /dev 21 22 echo /sbin/mdev > /proc/sys/kernel/hotplug 23 /sbin/mdev -s 24 /bin/hotplug 25 # mounting file system specified in /etc/fstab 26 mkdir -p /dev/pts 27 mkdir -p /dev/shm 28 /bin/mount -n -t devpts none /dev/pts -o mode=0622 29 /bin/mount -n -t tmpfs tmpfs /dev/shm 30 /bin/mount -n -t ramfs none /tmp 31 /bin/mount -n -t ramfs none /var 32 mkdir -p /var/empty 33 mkdir -p /var/log 34 mkdir -p /var/log/boa 35 mkdir -p /var/lock 36 mkdir -p /var/run 37 mkdir -p /var/tmp 38 39 ln -sf /dev/ttyS2 /dev/tty2 40 ln -sf /dev/ttyS2 /dev/tty3 41 ln -sf /dev/ttyS2 /dev/tty4 42 43 amixer cset numid=5 127 44 amixer cset numid=6 1 45 amixer cset numid=30 8,0 46 amixer cset numid=40 1 47 amixer cset numid=43 1 48 amixer cset numid=47 1 49 50 /sbin/hwclock -s -f /dev/rtc 51 52 syslogd 53 /etc/rc.d/init.d/netd start 54 echo " " > /dev/tty1 55 echo "Starting networking..." > /dev/tty1 56 #sleep 1 57 #/etc/rc.d/init.d/httpd start 58 #echo " " > /dev/tty1 59 #echo "Starting web server..." > /dev/tty1 60 #sleep 1 61 #/etc/rc.d/init.d/leds start 62 #echo " " > /dev/tty1 63 #echo "Starting leds service..." > /dev/tty1 64 #echo " " 65 #sleep 1 66 67 #echo "*************************************" > /dev/ttySAC2 68 #echo " http://www.topeet.com.cn " > /dev/ttySAC2 69 #echo "*************************************" > /dev/ttySAC2 70 #echo "*************************************" 71 #echo " http://www.topeet.com.cn " 72 #echo "*************************************" 73 74 75 mkdir /mnt/disk 76 #mount -t yaffs2 /dev/mtdblock3 /mnt/disk 77 78 /sbin/ifconfig lo 127.0.0.1 79 /etc/init.d/ifconfig-eth0 80 81 echo " " > /dev/tty1 82 echo "Starting Qtopia, please waiting..." > /dev/tty1 83 echo " " 84 echo "Starting Qtopia4, please waiting..." 85 86 /bin/qtopia & 87 /bin/int_helloworld &
5. trap ":" INT QUIT TSTP这个是什么语法?
在有些情况下,我们不希望自己的shell脚本在运行时刻被中断如数据库备份, 我们可不希望用户使用ctrl+C之类便进入到shell状态,做我们不希望做的事情。这便用到了信号处理。
kill -l可以列出系统的信号名称,如下:
1 -bash-3.00# kill -l 2 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 3 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 4 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR2 5 13) SIGPIPE 14) SIGALRM 15) SIGTERM 17) SIGCHLD 6 18) SIGCONT 19) SIGSTOP 20) SIGTSTP 21) SIGTTIN 7 22) SIGTTOU 23) SIGURG 24) SIGXCPU 25) SIGXFSZ 8 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH 29) SIGIO 9 30) SIGPWR 31) SIGSYS 34) SIGRTMIN 35) SIGRTMIN+1 10 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+4 39) SIGRTMIN+5 11 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+8 43) SIGRTMIN+9 12 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+12 47) SIGRTMIN+13 13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-14 51) SIGRTMAX-13 14 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-10 55) SIGRTMAX-9 15 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-6 59) SIGRTMAX-5 16 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-2 63) SIGRTMAX-1 17 64) SIGRTMAX 18 -bash-3.00#
通常我们需要忽略的信号有四个,即:HUP, INT, QUIT, TSTP,也就是信号1, 2, 3, 24
使用这样的语句可以使这些中断信号被忽略:
trap "" 1 2 3 24 或 trap "" HUP INT QUIT TSTP
6. 需要研究的蛮多,中午先去吃饭了
原文地址:https://www.cnblogs.com/429512065qhq/p/8183131.html
时间: 2024-10-07 05:41:45