1 捎程序的时候,注意,捎入的是norflash,此时的按钮应该在norFlash.
2 当捎入成功的时候,开始运行程序时,应该把按钮按回nandflash,因为程序的启动就是在nandflash,他把norflash 的内容放到了nandflash中运行,cpu的固化程序做的。
3 因为串口时用的速度是9600,所以你的vim .kermrc也应该改为9600.
4 lsusb探测U转串的设备 lsmod 探测驱动是否存在 ch341 (kermit 是应用程序在调用驱动) ls /dev/ttyU*(kermit 里边就是打开这个设备,这里边就是驱动程序的表象了,如果这个查的太快的话,就会ttyUSB1,这时你需要改vim .kermrc 中USB0给为1)
ls -l /lib/modules/2.6.2.z./kernel/drivers/usb/serial 这个命令执行下去就能考到.ko文件驱动的所在。
5 kermit 基于终端的命令行的串口驱动程序。
6 UART U通用,A是异步的意思、
7 串口一共3个,我们设置串口控制器的寄存器(8N1)。(N代表意思是
8 ULCON 1:0 11
9 UCON0 3:2 01 中断或者轮询
1:0 01
10 UART0.UBRDIVO=0X4d; 设置波特率
12000000/9600/16 -1=77化为16进制就是4d
11 波特率的始终有3种,但是我们只选了一种。PCLK
mini2440 主频400MHZ,最高533MHZ(530),现在不论ADC还是PCLK都是12M.
现在12M
改变频率可以通过时钟控制寄存器
晶振通电产生规律的正璇波。
自然产生不会通过100M,更高需要锁线环
倍频和分频。
12 UTXHO 串口最多发8位
在波特率调调节下,移位寄存器一位一位的移出去,
12 数据放入发送保持寄存器,然后在波特率协调下,发送移位器把保存寄存器中的数据一位一位的发送出去 UART0.UTXH0=C;
等待发送寄存器中的数据发送完毕
while(!(UART0.UTRSTAT0&(0X1<<)))

13 问题当移位的时候,旧的还没有移完,新的又来了,怎么办,需要一个while查看寄存器的状态。
14 UTRSTATN 2 0表不空,1,自动设置当无数据的时候。
1 我们选择中断和DMA模式,所以此处设为1.
0
15 gcc 手册中 中招built -fno-built 这样可以避免和库中的putc产生冲突。(CFLA后边添加)
16 0xa 和10 是一样的在移位运算中。
17 Vim 操作,o另起一行, 在输入状态中ctrl shift v
局部复制, ctrl v d 剪切。
18 两种取反方式
GPH.GPHCON = ((~(0xf<<4))&GPH.GPHCON) | 0xa<<4;
while(!(UART0.UTRSTAT0&0x1))
19 s3c2440.pdf 34页
20 配置UART0为,8位数据,无校验,1位停止位,正常模式,波特率9600,中断或者轮询。
21 kermit 会自动加\r\n;
22 回车回到当前行首,换行下一行当前位置,\\kermit 按下enter时,发送\r(linux才有\r,windos没有)
23 从CPU出来两个线连到3232上升高电平,这样子才能传出去。
24 对于捎程序的讲解:
利用norflash 中的程序,把你的4K程序捎到nandflash中,其实CPU启动的时候还是从nangflash 中拿起4k的程序到SRAM.
25 关于\r\n 在linux和windows中的不同,
kermit 类似于windows中(他把发来\n解析成\r)
26 ledon 24 这样子写的话,会选择2打开。
27 char s[] = "ledon 1 3";
char *p[4];
int i;

p[0] = strtok(s, " ");
for(i=1; p[i-1]!=NULL; i++)
{
p[i] = strtok(NULL, " ");
}

for(i=0; p[i]!=NULL; i++)
{
printf("%s\n", p[i]);
}

return 0;
strtok注意p的大小,会多一个NULL,但是这个只是用来判断,p[i]=NULL;并没有真正的赋值。
strtok 会自动给分割的字符串后边加\0
28 因为strtok的,<string.h>有全局变量,所以程序中必须能用全局变量才行,这里的LDFLAGS = -static -L /home/linux/toolchain/opt/FriendlyARM/toolschain/4.4.3/arm-none-linux-gnueabi/sys-root/usr/lib/ -lc
加static,最后的加-lc必须注意,这是libc.a的简称。
$(LD) $^ $(LDFLAGS) -T map.lds -o $(NAME).elf
# -static使用静态库
# -L 绝对路经,静态库所在目录
# -库名简称,静态库所在目录下具体使用哪个静态库
29 加个连接脚本在START.S里边,map.lbs
30 puts 没有加\r\n但是putc加了。
31 kermit crtl \ 然后c之后进去kermit命令界面,然后q是退出kermit ,而c是在此进入原先连接界面。
32 原理图上串口123,而我们用的是012,写错了。
33 puts putc,gets,getc这几个程序离开kermit毫无意义。
34

运行UART的程序的更多相关文章

  1. C与ARM汇编结合实现mini2440串口uart简单程序

    最近学完了ARM的一些基础知识,开始在mini2440上开发一些简单的程序,串口发送程序是一开始涉及多个寄存器的例子,稍有繁多的步骤应该是开发过程中要慢慢适应的境况 下面的程序的目的是实现mini24 ...

  2. 玩儿转物联网IoT - 在Beagle Bone Black上运行node.js 程序

    物联网(IoT)技术方兴未艾,智能手环,智能血压计,智能眼镜甚至智能鞋垫都开始进入我们的生活,各种智能设备层出不穷,世界已经到了一个"人有多大胆,地有多大产"的时代,不玩儿点物联网 ...

  3. 正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法

    正在运行的android程序,按home键之后退回到桌面,在次点击程序图标避免再次重新启动程序解决办法 例如:一个android程序包含两个Activity,分别为MainActivity和Other ...

  4. 在Linux中运行Nancy应用程序

    最近在研究如何将.NET应用程序移植到非Windows操作系统中运行,逐渐会写一些文章出来.目前还没有太深的研究,所以这些文章大多主要是记录我的一些实验. 这篇文章记录了我如何利用NancyFx编写一 ...

  5. 利用 PhpStorm、Idea 等 IDE 如何 运行/调试 Go 程序 ?

    以自己常用的 PhpStorm 为例 第一步:下载安装 Go插件 File -> Settings -> Plugins -> 输入关键字:Go 第二步:新建 Go项目 File - ...

  6. 64位系统上运行32位程序能否申请到8G内存?

    申请不到,因为64为系统在运行32位程序的时候只是为了向下兼容而已,对于32位程序来讲,申请8G的存储空间没有任何意义,因为32位的程序最大寻址空间只有4G,32位程序在编译之后的机器代码也只有32位 ...

  7. robotium(及百度cafe)运行testcase之后程序挂起没有响应的原因调查及解决

    一.问题背景 刚开始用的是百度cafe搭建的框架,已经用了一些版本,最后的test版本在7.4的apk上能跑,但是在最新发布的7.5的版本上跑不了,直接提示nullPointer错误,通过打日志的方式 ...

  8. Flash Builder 调试器无法连接到正在运行的应用程序(57%)

    Flash Builder 调试器无法连接到正在运行的应用程序(57%),可能原因:     1,flashplayer不是debug版.     2,调试器(用debug版flashplayer随便 ...

  9. Apache运行python cgi程序

    Apache运行python cgi程序 环境 win10 x64 专业版 Apache2.4 python 2.7 Apache安装和配置 Apache服务器的安装请自行搜索.在Apache2.4中 ...

随机推荐

  1. Spring源码解析(一)开篇

    前言 Spring源码继承结构比较复杂,看过以后经常会忘记.因此,记录一下源码分析的过程,方便以后回顾.本次分析的Spring源码版本为3.2.15. 另外,一提Spring就是IOC.DI等等,我们 ...

  2. maven仓库配置

    apache官方提供的maven库下载速度比较慢,所以可以配置成aliyun的maven库,这样在构建项目的时候速度会提升很多,具体方法如下: vim /usr/local/maven/conf/se ...

  3. Linux安装Java开发环境

    一.JDK安装 安装JDK的实现步骤(使用root用户登录安装,避免需要对文件授权) (1)下载JDK,JDK的存放目录一般存放于 /opt目录下(Oracle官网下载jdk,需要accept lic ...

  4. 数据库连接池libzdb

    官网:http://www.tildeslash.com/libzdb/ A small, easy to use Open Source Database Connection Pool Libra ...

  5. 基于wtforms源码实现自定义form组件

    from flask import Flask,Markup,render_template,request,redirect from wtforms.form import Form from w ...

  6. xphrof出现502问题

    This is an xhprof bug and not a devel bug, but I thought I'd throw the workaround up here in case pe ...

  7. 001-navicat for oracle 12 破解安装

    1.首先软件包和破解文件都需要到我给的百度云盘地址下载,去官网下载的中文版破解不了,至于官网的英文版,我就不清楚了. (1)链接地址. https://pan.baidu.com/s/1jxj4uzg ...

  8. vue-cli脚手架build目录中的webpack.base.conf.js配置文件

    转载自:http://www.cnblogs.com/ye-hcj/p/7082620.html webpack.base.conf.js配置文件// 引入nodejs路径模块 var path = ...

  9. DataTables VS EasyUI DataGrid 基础应用 转

    DataTables中文网推出了 第一篇 关于DataTables和其他表格插件比较后,为了把让这个比较更有意义,更能帮助到大家,DataTables中文网 做了问卷调查,根据小伙伴们的填写我归纳了一 ...

  10. 20145316许心远《Java程序设计》第5周学习总结

    20145316 <Java程序设计>第5周学习总结 教材学习内容总结 异常处理 & Collection与Map 异常继承架构 错误的对象继承java.lang.Throwabl ...