发布时间:2012-12-15 23:43:58
假设我们先不考虑BTR0中的SJW位和BTR1中的SAM位。那么,BTR0和BTR1就是2个分频系数寄存器;它们的乘积是一个扩展的分频系数。即: BTR0×BTR1=F_BASE/Fbps (1) 其中: 内部频率基准源F_BASE = Fclk/2,即外部晶振频率Fclk的2分频。注意任何应用中,当利用外部晶振作为基准源的时候,都是先经过2分频整形的。(1)式中,当晶振为16M时,F_BASE=8000K 当晶振为12M时,F_BASE=6000K Fbps就是我们所希望得到的CAN总线频率。单位为K。 设(1)式中BTR0=m,BTR......【阅读全文】
发布时间:2012-12-15 23:43:30
http://blog.21ic.com/user1/6291/archives/2010/67618.htmlCan控制器器只需要进行少量的设置就可以进行通信,就可以像RS232/48那样使用。其中较难设置的部分就是通信波特率的计算。CAN总线能够在一定的范围内容忍总线上CAN节点的通信波特率的偏差,这种机能使得CAN总线有很强的容错性,同时也降低了对每个节点的振荡器精度。实际上,CAN总线的波特率是一个范围。假设定义的波特率是250KB/S,但是实际上根据对寄存器的设置,实际的波特率可能为200~300KB/S(具体值取决于寄存器的设置)。简单介绍一个波特率的计算,在CAN的底层协议里将C......【阅读全文】
发布时间:2012-12-15 23:40:07
注意gdb7.3版本的编译需要gcc4.0以上的版本。gdb的编译cd ~/gdb/gdb-7.3.1mkdir bin cd bin ../configure --prefix=/opt/gdb-7.3.1 --host=i686-pc-linux-gnu --target=mips-linuxmakemake install gdbserver的编译 cd ~/gdb/gdb-7.3.1/gdb/gdbserver mkdir bin cd bin export CC=/opt/openwrt/kamikaze_7.09/staging_dir_mips/bin/mips......【阅读全文】
发布时间:2012-12-15 23:39:47
一.前言 嵌入式Linux系统中,由于嵌入式系统资源有限,一般不能直接在目标系统上进行调试,通常采用gdb+gdbserver的方式进行调试。gdbserver在目标系统中运行,gdb则在宿主机上运行。目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。并且不能直接采用linux发行版自带的gdb,需要交叉编译gdb和gdbserver。二.编译gdb和gdbserver工具下载最新版本的gdb-6.4.tar.gz,可以到ftp://ftp.gnu.org/gnu/gdb下载.准备好自己的工作目录,如下示/tmp/......【阅读全文】
发布时间:2012-12-15 23:38:45
使用gdbserver远程调试 1.默认crosstool交叉编译器没有自带gdbserver,需要自行编译 到GNU官方FTP下载,目前最新版的是gdb-6.7.1下载地址:http://ftp.gnu.org/gnu/gdb/ 注:若已有gdbserver,可以直接跳到步骤4 2.编译gdbserver编译GDB源码时只需要编译出gdbserver就可以了,交叉编译器自带arm-linux-gdb(client端)可以使用。gdb-6.7.1# cd gdb-6.7.1/gdb/gdbserver/#./configure --host=arm-linux ......【阅读全文】