i.mx6 Android can-utils Transplant
Last Update:2016-08-01
Source: Internet
Author: User
<span id="Label3"></p><pre><span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">****************************************************************** * i.mx6 Android can-utils porting * description: * Due to the recent use of can, so first transplant can-tuils to look at the Situation. * 2016-8-1 Shenzhen Nanshan Ping Shan village Zengjianfeng *************************************************************** **</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">first, Obtain the source code: https:</span></span><span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">github.com/linux-can/can-utils</span></span><span style="color: #000000;"><span style="color: #000000;">second, the error phenomenon: target thumb C:slcan_attach</span></span><=/home/myzr/myandroid/packages/apps/can-utils/<span style="color: #000000;"><span style="color: #000000;">slcan_attach.c</span></span>/home/myzr/myandroid/packages/apps/can-utils/slcan_attach.c:in function<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">Main</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #000000;"><span style="color: #000000;">: </span></span>/home/myzr/myandroid/packages/apps/can-utils/slcan_attach.c:<span style="color: #800080;"><span style="color: #800080;">Bayi</span></span>:<span style="color: #800080;"><span style="color: #800080;"></span> -</span>: error:<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">N_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span>Undeclared (first use<span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span> <span style="color: #0000ff;"><span style="color: #0000ff;"></span> this</span><span style="color: #000000;"><span style="color: #000000;">Function)</span></span>/home/myzr/myandroid/packages/apps/can-utils/slcan_attach.c:<span style="color: #800080;"><span style="color: #800080;">Bayi</span></span>:<span style="color: #800080;"><span style="color: #800080;"></span> -</span>: Note:each Undeclared identifier<span style="color: #0000ff;"><span style="color: #0000ff;"></span> is</span>Reported only once<span style="color: #0000ff;"><span style="color: #0000ff;"></span> for</span>Each function it appears<span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span><span style="color: #000000;">make <span style="color: #000000;">:</span></span>*** [<span style="color: #0000ff;"><span style="color: #0000ff;"></span> out</span>/target/product/sabresd_6dq/obj/executables/slcan_attach_intermediates/slcan_attach.o] Error<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">make:leaving directory '</span></span>/home/myzr/myandroid<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #000000;"><span style="color: #000000;">third, View N_slcan situation:</span></span><span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">. View directly: [email protected]:</span></span>~/myandroid/packages/apps/can-utils$ grep N_slcan *-<span style="color: #000000;"><span style="color: #000000;">R Configure.ac:AC_CHECK_DECL (n_slcan,, configure.ac: [ac_define ([n_slcan], [</span></span><span style="color: #800080;"><span style="color: #800080;"></span> -</span><span style="color: #000000;"><span style="color: #000000;">], [n_slcan])] slcan_attach.c:</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>Ldisc =<span style="color: #000000;"><span style="color: #000000;">n_slcan; Slcand.c:</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>Ldisc =<span style="color: #000000;"><span style="color: #000000;">n_slcan; </span></span><span style="color: #800080;"><span style="color: #800080;">2</span></span><span style="color: #000000;"><span style="color: #000000;">. Execute autogen.sh and view: [email protected]:</span></span>~/myandroid/packages/apps/can-utils$./<span style="color: #000000;"><span style="color: #000000;">autogen.sh</span></span>----------<span style="color: #000000;"><span style="color: #000000;">autoreconf</span></span>----------<span style="color: #000000;"><span style="color: #000000;">Can</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">T exec "libtoolize": No such file or directory at/usr/bin/autoreconf line 196.</span></span>Use of uninitialized value<span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span>Pattern Match (m<span style="color: #008000;"><span style="color: #008000;">//</span></span><span style="color: #008000;"><span style="color: #008000;">) at/usr/bin/autoreconf Line 196.</span></span>Configure.ac:<span style="color: #800080;"><span style="color: #800080;">9</span></span>: Installing ' config/autoconf/config.guess<span style="color: #800000;"><span style="color: #800000;">'</span></span>Configure.ac:<span style="color: #800080;"><span style="color: #800080;">9</span></span>: Installing ' config/autoconf/config.sub<span style="color: #800000;"><span style="color: #800000;">'</span></span>Configure.ac:<span style="color: #800080;"><span style="color: #800080;"></span> a</span>: Installing ' Config/autoconf/install-sh<span style="color: #800000;"><span style="color: #800000;">'</span></span>Configure.ac:<span style="color: #800080;"><span style="color: #800080;"></span> a</span>: Installing ' config/autoconf/missing<span style="color: #800000;"><span style="color: #800000;">'</span></span>Gnumakefile.am:<span style="color: #800080;"><span style="color: #800080;"></span> -</span>: Libtool library used but ' Libtool<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;">is <span style="color: #800000;">undefined</span></span>Gnumakefile.am:<span style="color: #800080;"><span style="color: #800080;"></span> -</span>: The usual to define ' LIBTOOL<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;">is to <span style="color: #800000;">add ' lt_init</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #000000;"><span style="color: #000000;">gnumakefile.am:</span></span><span style="color: #800080;"><span style="color: #800080;"></span> -</span>: To ' Configure.ac<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;">and <span style="color: #800000;">Run ' aclocal</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span>and ' autoconf<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">Again.</span></span>Gnumakefile.am:<span style="color: #800080;"><span style="color: #800080;"></span> -</span>: If ' Lt_init<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;">Is in <span style="color: #800000;">' Configure.ac</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #000000;"><span style="color: #000000;">, make sure Gnumakefile.am:</span></span><span style="color: #800080;"><span style="color: #800080;"></span> -</span>: its definition<span style="color: #0000ff;"><span style="color: #0000ff;"></span> is</span> <span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span>Aclocal<span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">s Search path.</span></span>GNUmakefile.am:installing ' Config/autoconf/depcomp<span style="color: #800000;"><span style="color: #800000;">'</span></span>Autoreconf:automake failed with exit Status:<span style="color: #800080;"><span style="color: #800080;">1</span></span><span style="color: #000000;"><span style="color: #000000;">[email protected]:</span></span>~/myandroid/packages/apps/can-utils$ grep N_slcan *-<span style="color: #000000;"><span style="color: #000000;">R Autom4te.cache</span></span>/output.<span style="color: #800080;"><span style="color: #800080;">1</span></span>: ac_fn_c_check_decl<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$LINENO</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">N_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Ac_cv_have_decl_n_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$ac _includes_default</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Autom4te.cache</span></span>/output.<span style="color: #800080;"><span style="color: #800080;">1</span></span>:<span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>Test<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">X$ac_cv_have_decl_n_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>=<span style="color: #000000;"><span style="color: #000000;">xyes; Then:autom4te.cache</span></span>/output.<span style="color: #800080;"><span style="color: #800080;">1</span></span>: $as _echo<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">@%: @define N_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>>><span style="color: #000000;"><span style="color: #000000;">confdefs.h Autom4te.cache</span></span>/output.<span style="color: #800080;"><span style="color: #800080;">0</span></span>: ac_fn_c_check_decl<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$LINENO</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">N_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Ac_cv_have_decl_n_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$ac _includes_default</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">Autom4te.cache</span></span>/output.<span style="color: #800080;"><span style="color: #800080;">0</span></span>:<span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>Test<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">X$ac_cv_have_decl_n_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>=<span style="color: #000000;"><span style="color: #000000;">xyes; Then:autom4te.cache</span></span>/output.<span style="color: #800080;"><span style="color: #800080;">0</span></span>: $as _echo<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">@%: @define N_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>>><span style="color: #000000;"><span style="color: #000000;">confdefs.h Autom4te.cache</span></span>/traces.<span style="color: #800080;"><span style="color: #800080;">0</span></span>: M4trace:configure.ac:<span style="color: #800080;"><span style="color: #800080;"></span> the</span>: -<span style="color: #800080;"><span style="color: #800080;">1</span></span>-m4_pattern_allow ([^<span style="color: #000000;"><span style="color: #000000;">N_slcan$]) Autom4te.cache</span></span>/traces.<span style="color: #800080;"><span style="color: #800080;">1</span></span>: M4trace:configure.ac:<span style="color: #800080;"><span style="color: #800080;"></span> the</span>: -<span style="color: #800080;"><span style="color: #800080;">1</span></span>-<span style="color: #000000;"><span style="color: #000000;">ac_define_trace_literal ([n_slcan]) Autom4te.cache</span></span>/traces.<span style="color: #800080;"><span style="color: #800080;">1</span></span>: M4trace:configure.ac:<span style="color: #800080;"><span style="color: #800080;"></span> the</span>: -<span style="color: #800080;"><span style="color: #800080;">1</span></span>-m4_pattern_allow ([^<span style="color: #000000;"><span style="color: #000000;">N_slcan$]) Autom4te.cache</span></span>/traces.<span style="color: #800080;"><span style="color: #800080;">1</span></span>: M4trace:configure.ac:<span style="color: #800080;"><span style="color: #800080;"></span> the</span>: -<span style="color: #800080;"><span style="color: #800080;">1</span></span>-ah_output ([n_slcan], [<span style="color: #008000;"><span style="color: #008000;">/*</span></span><span style="color: #008000;"><span style="color: #008000;">N_slcan</span></span><span style="color: #008000;"><span style="color: #008000;">*/</span></span><span style="color: #000000;"><span style="color: #000000;">Autom4te.cache</span></span>/traces.<span style="color: #800080;"><span style="color: #800080;">1</span></span>:@%<span style="color: #000000;"><span style="color: #000000;">: @undef n_slcan]) Configure:ac_fn_c_check_decl</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$LINENO</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">N_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">Ac_cv_have_decl_n_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span> <span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">$ac _includes_default</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #000000;"><span style="color: #000000;">configure:</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">if</span></span>Test<span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">X$ac_cv_have_decl_n_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>=<span style="color: #000000;"><span style="color: #000000;">xyes, then:configure: $as _echo</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span><span style="color: #800000;"><span style="color: #800000;">#define N_slcan</span></span><span style="color: #800000;"><span style="color: #800000;">"</span></span>>><span style="color: #000000;"><span style="color: #000000;">confdefs.h Configure.ac:AC_CHECK_DECL (n_slcan, configure.ac: [ac_define], [n_slcan], [</span></span><span style="color: #800080;"><span style="color: #800080;"></span> -</span><span style="color: #000000;"><span style="color: #000000;">], [n_slcan])] slcan_attach.c:</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>Ldisc =<span style="color: #000000;"><span style="color: #000000;">n_slcan; Slcand.c:</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">int</span></span>Ldisc =<span style="color: #000000;"><span style="color: #000000;">n_slcan; [email protected]:</span></span>~/myandroid/packages/apps/can-<span style="color: #000000;"><span style="color: #000000;">utils$ four, solution: slcan_attach.c slcand.c Add</span></span><span style="color: #0000ff;"><span style="color: #0000ff;">#define</span></span>N_SLCAN 17 Macro Definition.<span style="color: #000000;"><span style="color: #000000;">five, test command: [email protected]:</span></span>/data/local #./<span style="color: #000000;"><span style="color: #000000;">Cangen cangen:generate CAN frames Usage:cangen [options]</span></span><can<span style="color: #0000ff;"><span style="color: #0000ff;">Interface</span></span>><span style="color: #000000;"><span style="color: #000000;">Options:</span></span>-g <ms> (gap<span style="color: #0000ff;"><span style="color: #0000ff;">inch</span></span>Milli seconds-<span style="color: #0000ff;"><span style="color: #0000ff;">default</span></span>:<span style="color: #800080;"><span style="color: #800080;"></span> $</span><span style="color: #000000;"><span style="color: #000000;">Ms)</span></span>-<span style="color: #000000;"><span style="color: #000000;">e (generate Extended frame mode (EFF) CAN frames)</span></span>-<span style="color: #000000;"><span style="color: #000000;">F (generate can FD can frames)</span></span>-b (generate can FD can frames with bitrate<span style="color: #0000ff;"><span style="color: #0000ff;">Switch</span></span><span style="color: #000000;"><span style="color: #000000;">(BRS))</span></span>-<span style="color: #000000;"><span style="color: #000000;">R (send RTR frame)</span></span>-m (mix-e-f-b-<span style="color: #000000;"><span style="color: #000000;">R frames)</span></span>-i <mode> (CAN ID Generation mode-<span style="color: #000000;">see <span style="color: #000000;">Below)</span></span>-l <mode> (CAN Data length code (dlc) generation mode-<span style="color: #000000;">see <span style="color: #000000;">Below)</span></span>-d <mode> (CAN data (payload) generation mode-<span style="color: #000000;">see <span style="color: #000000;">Below)</span></span>-p <timeout> (poll On-enobufs to write frames with <timeout><span style="color: #000000;"><span style="color: #000000;">Ms)</span></span>-n <count> (terminate after <count> CAN frames-<span style="color: #0000ff;"><span style="color: #0000ff;">default</span></span><span style="color: #000000;"><span style="color: #000000;">Infinite)</span></span>-i. (ignore-enobufs<span style="color: #0000ff;"><span style="color: #0000ff;">return</span></span><span style="color: #000000;"><span style="color: #000000;">values on write () syscalls)</span></span>-<span style="color: #000000;"><span style="color: #000000;">x (disable Local loopback of generated CAN frames)</span></span>-v (increment verbose level<span style="color: #0000ff;"><span style="color: #0000ff;"></span> for</span><span style="color: #000000;"><span style="color: #000000;">Printing sent CAN frames) Generation modes:</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">R</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span>= = Random VALUES (<span style="color: #0000ff;"><span style="color: #0000ff;">default</span></span><span style="color: #000000;"><span style="color: #000000;">) </span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span><span style="color: #800000;"><span style="color: #800000;">I</span></span><span style="color: #800000;"><span style="color: #800000;">'</span></span>=<span style="color: #000000;"><span style="color: #000000;">Increment Values</span></span>