内核:linux-2.6.22.6 ubuntu:Ubuntu 9.10 开发板: JZ2440(方法通用,不局限于JZ2440)
众所周知,JZ2440 V2很小巧,精致。今天单就JZ2440的串口来讨论一些问题。我们在用串口进行调试的时候,需要用JZ2440自带的一根USB线连接电脑USB口和开发板的USB-com1口。先来看一下JZ2440的串口大致连接图:
Ubuntu:资料光盘Ubuntu 9.10 连接方式:JZ2440用网线直接连接电脑 要解决的问题
4. 打开SecureCRT(在资料光盘->windows工具目录),如下设置连接串口
2019新年伊始,为了系统的学习嵌入式系统的开发,入手了一块韦东山的JZ2440,入坑之旅开始~
a. 编译: arm-linux-gcc -o serial_test serail_test.c -static b. 在开发板上运行: ./serial_test </dev/XXX> // /dev/XXX为串口的设备节点
前言: 本文用于解决win7以上系统使用dnw难装驱动问题,使用新驱动: zadig-2.3.exe,支持xp,win7/win8/win10系统,安装方便、高效,欢迎试用。
写这类教程的目的是, 熟悉Linux基本操作和嵌入式开发流程, 希望对你有所帮助.
2440启动过程算是一个难点,不太容易理解,而对于2440启动过程的理解,影响了后面裸机代码执行流程的分析,从而看出2440启动过程的重要性。
op或者eop支持将代码烧写到Nor flash或nand flash,而市面上的jlink只能将代码烧写到nor flash中。
答:Length of file is too big : 88564608 > 66183036
在日常工作/学习中,读者可能会经常听到如下一些词:“作业”,“任务”,“开了几个线程”,“创建了几个进程”,“多线程”,“多进程”等等。如果系统学习过《操作系统》这门课程,相信大家对这些概念都十分了解。但对很多电子、电气工程专业(或是其他非计算机专业)的同学来说,由于这门课程不是必修课程,我们脑海中可能就不会有这些概念,听到这些概念的时候就会不知所云,不过没有关系,先让我们克服对这些概念的恐惧。比如小时候刚开始学习数学的时候,先从正整数/自然数开始学习,然后逐步接触到分数、小数、负数、有理数、无理数、实数,再到复数等等。这些操作系统中的概念也是这样,让我们从初级阶段开始学起,逐步攻克这些新概念背后的真正含义。
转载请注明文章地址 http://wiki.100ask.org/Linux_devicetree
开发板:jz2440 主机linux:ubuntu 9.10(资料光盘那个) 内核:linux2.6.22.6 交叉编译器:arm-linux-gcc 3.4.5(也可以用毕业班4.3.2那个编译器,不过我没找对lib,失败了,先不深究) busybox:busybox-1.21.0.tar.bz2 本来想用韦老师视频用的busybox-1.17.0,后来发现不支持ftp和tftp, 只好放弃了
近期重新开始学习嵌入式,在 ubuntu 下完成对 JZ2440 开发板的配置和开发,kermit 和 oflash 已经有很久没有用了,所以记录一下用法,免得日后又忘了。
答:可以用, USB 2.0分两种,全速12M,高速480M; 所谓全速12M也就是USB 1.1的速率。
要求 根据现有音频框架实现一个录音程序,要求:PCM格式, 采样率16K, S16LE, 单通道 使用ffmpeg 将录音音频转换为采样率为48K wav格式的文件 使用ffmpeg 将录音音频转换为MP3格式的文件 使用Audacity查看你的录音频谱 使用sndpeek分析你的音频数据,并写出心得 平台 Linux-3.4.2 arm-linux-gcc-4.3.2 精简版yaffs文件系统 JZ2440开发板(S3C2440) ALSA框架 alsa-lib-1.0.27.2 alsa-util
在第一期视频 : 第0课第7节_刚接触开发板之制作根文件系统及初试驱动.wmv ,因为要测试驱动,所以必须要把驱动程序弄到开发板里才行。 于是韦老师介绍了两种方式:
在购买开发板的时候,板子上已经烧写好了bootloader、内核和文件系统。但是在具体使用时,发现板子上划分的内核分区只有2M,但是我编译出来的内核大于2M,于是将内核烧写到nandflash上面时会启动不成功。怎么办呢?查找资料后,找到了解决办法。 步骤如下 1,修改文件uboot-1.1.6/include/configs/100ask2440.h 如果是非jz2440开发板,找不到这个文件。不过大致路径没错,可以先使用以下命令搜索:
博主最近花 1500 入手了一个 RK3399 开发板,原因是博主手里有一块正点原子 STM32F103 单片机开发板,一块基于三星 S3C2440 的 JZ2440 开发板,一块 NXP 的正点原子的 IMX6ULL 开发板,缺一块高性能开发板,所以去找了一下,发现 RK3399、RK3399pro 不错,然后发现 RK 是国产,买!
以JZ2440开发板为例,烧录程序到S3C2440。可以使用dnw软件进行烧录。在windows下,一般dnw的驱动都装不好,一般需要禁止数字签名才能装好。所以我们可以把dnw装到linux下,在linux下烧录程序。
博主手里有一个正点原子 STM32F103ZET6,行情最贵的时候买的,得好好利用。
选择哪一路作为S3C2440的时钟源由模式控制引脚OM3和OM2引脚(的电平)决定,如何选择见下图:
关于RS-232C串口总线通信标准请参见我的另一个系列专题文章(还未在公众号更新,请点击查看原文或者复制链接移步至csdn博客查看):
市面上的开发板很少接有SPI设备,但是SPI协议在工作中经常用到。我们开发了SPI模块,上面有SPI Flash和SPI OLED。OLED就是一块显示器。
设备总线驱动模型:http://blog.csdn.net/lizuobin2/article/details/51570196
我们深受windows、ubuntu、开发板之间互PING问题的困扰, 特别为这个问题录了视频(https://v.qq.com/x/page/h0505eg7z0m.html) 无奈还是有很多很多同学不看视频直接发问,或者说看了视频也解决不了问题,所以我再试图用几页文档解决这个问题。 这是ping问题解决方法最新文档,遇到问题首先看这里,也希望这是最后一个文档。
博主手里有一块正点原子 STM32F103 单片机开发板,一块基于三星 S3C2440 的 JZ2440 开发板,一块 NXP 的 IMX6ULL 开发板,缺一块高性能开发板,所以去找了一下,发现 RK3288、RK3399、RK3399pro 不错,然后发现 RK 是国产,于是去了解了一下。
本文介绍了如何通过修改配置文件、编译内核、创建内核工程、烧写内核到开发板、运行内核、分析内核日志、输出内核转储、调试内核、使用内核调试器等工具和方法,来分析和解决内核问题。
先简单介绍下LCD的操作原理。 如下图的LCD示意图,里面的每个点就是一个像素点。
1. 建立Uboot的SI工程 1.1首先给uboot打上补丁,然后来生成压缩文件
这节课讲解如何在中断系统中使用设备树,也就是用设备树如何描述中断。 中断体系在4.x内核中变化很大,中断体系又跟pinctrl系统密切相关,pinctrl中又涉及GPIO子系统,这样讲下去的话,设备树课程就变成驱动专题了,所以我打算只讲中断体系统,对于pinctrl、gpio等系统留待以后在驱动课程中扩展。
我们买开发板的目的就是把电脑上编写编译好的程序烧写到板子上验证学习。因此开发板上一定有个烧写口,例如JTAG烧写口。但电脑上是不会有这个JTAG口的,因此需要一个USB烧写器将两者连接,例如Jlink、OP/EOP。Jlink本来用的人很多,但随着版权意识的提高以及Jlink公司对盗版的打击,Jlink现在用得越来越少了。EesyOpenJtag是OpenJtag的便宜版本,他和我们的开发板是绝配,他可以直接烧写Nand Flash和Nor Flash,操作简单,价格便宜。
我们经常使用uboot命令,虽然资料光盘->常见问题目录有U-boot常用命令汇总文档,但从大家的反馈来看,并没有很多人注意到这个文档,所以把它挪到这里。如此全的uboot命令汇总,建议收藏。
转载请注明原文地址:http://wiki.100ask.org/Linux_devicetree
本文介绍了如何使用patch命令给u-boot打补丁,包括patch文件的格式、使用场景和具体操作步骤。
如图是S3C2440是个片上系统,有GPIO控制器(接有GPIO管脚),有串口控制器 (接有TXD RXD引脚)。
该文章介绍了如何通过U-Boot在ARM平台上进行Linux内核的编译、烧写和启动。首先介绍了U-Boot的编译过程,然后说明了如何将编译好的U-Boot刷入NAND Flash并启动内核。文章还介绍了如何使用U-Boot的串口终端进行命令行交互,并总结了如何在U-Boot中编译Linux内核的步骤和注意事项。
在Linux 2.6中, ARM架构的板极硬件细节过多地被硬编码在arch/arm/plat-xxx和arch/arm/mach-xxx中,采用设备树后,许多硬件的细节可以直接通过它传递给Linux,而不再需要在内核中进行大量的冗余编码。
如下图所示,可以看到补丁文件里,每个需要改的文件,都有u-boot-1.1.6目录,而我们之前已经cd进入了,所以需要输入-p1,去掉它
嵌入式岗位,是介于硬件工程师和软件工程师之前的一个岗位。他的工作内容需要他既懂代码编写,也会硬件板子。
Bootloader的启动过程可以分为单阶段、多阶段两种。通常多阶段的 Bootloader能提供更为复杂的功能以及更好的可移植性。从固态存储设备上启动的 Bootloader大多都是两阶段的启动过程。第一阶段使用汇编来实现,它完成一些依赖于CPU体系结构的初始化,并调用第二阶段的代码;第二阶段则通常使用C语言来实现,这样可以实现更复杂的功能,而且代码会有更好的可读性和可移植性。 一般而言,这两个阶段完成的功能可以如下分类:
我们需要编写设备树文件 (dts: device tree source) ,它需要编译为 dtb(device tree blob) 文件,内核使用的是 dtb 文件。
在platform_device部分有简单说明描述设备有两种方法:一种是使用platform_device结构体来指定;另一种是使用设备树来描述。
嵌入式系统在术语上被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适用于应用系统,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。它的特点在于两方面:嵌入、专用。
领取专属 10元无门槛券
手把手带您无忧上云