自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(84)
  • 资源 (6)
  • 论坛 (1)
  • 收藏
  • 关注

原创 LiteOS移植

LiteOS移植 象棋小子 1048272975操作系统是用来管理系统硬件、软件及数据资源,控制程序运行,并为其它应用软件提供支持的一种系统软件。根据不同...

2019-07-18 20:34:10 1488 1

原创 MP3播放

有损音频利用人类听觉对声音中的某些频率成分不敏感的特性,从原始PCM数据中将这不敏感的一部分信息去除,以达到压缩的目的。其具有体积小,便于传输的特点,得到了广泛的应用。

2017-11-11 20:46:08 1282 1

原创 FLAC无损音频播放

无损音频不存在音频损失的问题,可以获取到原始PCM采样数据,代表数字音频最高的保真水准。随着储存设备容量的增大,网络传输带宽的提升,无损音频越来越受到人们的追捧。

2017-11-11 20:43:17 2842

原创 WAV音频文件

WAV是一种保存音频信息的文件格式,广泛应用于Windows及其应用程序中,如今主流的音频播放器都支持WAV音频文件的播放。

2017-11-11 20:40:53 9654

原创 SD卡文件读写

SD卡(Secure Digital Memory Card)具有体积小、容量大、数据传输快、可插拔、安全性好等优点,被广泛应用于便携式设备上。例如作为数码相机的存储卡,作为手机、平板多媒体扩展卡用的TF卡(micro sd)等等。

2017-11-11 20:37:40 7551

原创 ADPCM音频压缩

音频数据通常需要占用大量的储存空间,或者在传输时占用大量的信道带宽。可以通过特定的压缩算法压缩这些音频数据,从而减少在储存、传输时的音频数据量。ADPCM就是这样一种针对音频的压缩算法。

2017-11-11 20:35:13 6890 1

原创 音频录制以及播放

一般的音频应用中,往往需要支持音频的拾取输入以及音频的播放输出。LPC5411x具有I2S音频接口以及双通道PDM数字麦克风接口,其中数字麦克风接口支持芯片深度睡眠时的语音激活,非常适合于音频,尤其是低功耗音频的应用。

2017-11-11 20:33:16 7204

原创 LED灯

嵌入式教程中LED灯以及程序教程中的”Hello world”都有其特殊的意义,意味着入门。此处以LED灯驱动介绍LPC5411x的工程开发流程。

2017-11-11 20:30:05 1314

原创 开发环境以及启动模式

ARM核以其高性能、低功耗、低成本广泛应用在各个领域,包括ARM7、ARM9、ARM11、Cortex-M、Cortex-A等这几个系列。众多的半导体商如NXP、Freescale、Atmel、Samsung、TI等都设计了基于ARM核的自家通用处理器,ARM核从低成本控制处理器到高性能应用处理器,已经深入到我们生活的方方面面。此处就NXP的LPC54114作一个简单的介绍。

2017-11-11 20:23:07 452

原创 linux设备树启动

在早期的arm linux内核中,板级的细节信息使用代码的形式,存放在arch/arm目录中,这些板级代码只对相应的开发板有用,却被硬编码进linux内核,显然这不是一种好的方法。Device Tree是一种描述硬件的数据结构,它包含了板级硬件细节信息,通过Device Tree,可以把硬件信息传递给内核,而不需要再硬编码了。

2017-09-03 11:34:32 3564 3

原创 制作ubuntu烧录镜像

一个基本的linux系统由引导加载器、内核和必要的文件组成,可以选择什么被包括进来,然后去编译实现,个性化配置好的linux系统可以制作成一个烧录镜像用于发行共享。

2017-08-20 16:05:04 5636

原创 移植mplayer

mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布。它资源占用率低,无论是音频还是视频方面,支持的格式相当全面,支持的输出设备也很多,可以在各种主流操作系统中使用。

2017-08-20 15:58:06 4057 1

原创 构建ubuntu根文件系统

Ubuntu是一个广泛应用于个人电脑,云计算,以及智能物联网设备的开源操作系统。针对智能物联网,Ubuntu提供了一套更加安全,轻量级,专为智能物联网订制的开源操作系统Ubuntu Core。它已被广泛应用于物联网,智能设备和自主设备等嵌入式产品中。

2017-08-20 15:48:54 7547

原创 nfs文件系统

nfs即网络文件系统,通过网络,对在不同主机上的文件进行共享。嵌入式开发中,往往需要构建调试文件系统,在主机端以nfs文件系统的方式先调试构建文件系统,将极大地方便开发。

2017-08-20 15:42:39 392

原创 构建根文件系统

文件系统是对一个存储设备上的数据和元数据进行组织的机制,根文件系统是linux内核启动时所挂载的第一个文件系统。对于一个可启动的linux系统,根文件系统是其不可或缺的一部分。此处就根文件系统的构建作一个简单的介绍。

2017-08-20 15:37:59 520

原创 Linux内核编译运行

Allwinner H5提供了Lichee Linux BSP,其主要由brandy、buildroot、linux-3.10、tools这几个目录组成,能够实现Linux系统的开发构建。

2017-08-20 15:31:21 3809

原创 LED闪烁灯

嵌入式教程中LED灯以及程序教程中的”Hello world”都有其特殊的意义,意味着入门。笔者此处也不例外,分别以汇编、c语言在交叉编译环境下点LED灯作为NanoPi-NEO2的入门程序。点LED灯之前必须对芯片有基本的认识,包括其指令集、流水线等内核架构,基本的启动流程,基本的编译器开发特性等,只有这样点亮的LED灯才算实现其意义。

2017-08-20 15:13:10 1783

原创 Linux开发二十四_mplayer移植

mplayer是一款开源多媒体播放器,以gnu通用公共许可证发布。它资源占用率低,无论是音频还是视频方面,支持的格式相当全面,支持的输出设备也很多,可以在各种主流操作系统中使用。

2017-04-23 01:49:42 957

原创 Linux开发二十三_opencv移植

opencv是一个开放源代码的机器视觉库,它是基于c/c++开发的,可用与计算机视觉、图像处理、模式识别和跟踪等等。

2017-04-23 01:47:27 542

原创 Linux开发二十二_Qt移植

Qt是跨平台的应用程序和UI框架,它包括跨平台类库、集成开发工具和跨平台IDE。使用Qt只需一次性开发应用程序,无须重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。

2017-04-23 01:40:38 1582

原创 Linux开发二十一_tslib移植

tslib是一个开源的程序,能够为触摸屏驱动获得的采样提供诸如滤波、去抖、校准等功能,通常作为触摸屏驱动的适配层,为上层的应用提供了一个统一的接口。

2017-04-23 01:37:54 311

原创 Linux开发二十_触摸屏驱动

在人机交互系统中,键盘、触摸屏等输入设备是一个不可或缺的部分,触摸屏以其非常良好的用户体验得到了广泛的应用。此处以ft5206电容屏为例,实现Linux内核上的驱动。

2017-04-23 01:35:49 949

原创 Linux开发十九_nfs文件系统

nfs即网络文件系统,通过网络,对在不同主机上的文件进行共享。嵌入式开发中,往往需要构建调试文件系统,在主机端以nfs文件系统的方式先调试构建文件系统,将极大地方便开发。

2017-04-23 01:32:24 375

原创 Linux开发十八_网卡驱动

Internet作为全球最大的互联网络,几乎总汇了全球的信息资源,越来越多的设备需要连接Internet,共享信息资源。Linux内核已经支持dm9000网卡驱动。

2017-04-23 01:29:46 1423 1

原创 Linux开发十七_yaffs文件系统

nand flash作为市面上最主要的非易失性闪存技术之一,应用在各种固态大容量存储解决方案中。由于nand flash自身的特点,nand存储器往往需要一款专用的nand文件系统进行管理。开源的yaffs文件系统由于其优异的性能,在nand flash中受到广泛的应用。

2017-04-23 01:26:16 3516

原创 Linux开发十六_nand驱动

nand flash具有大容量、改写速度快、接口简单等优点,适用于大量数据的存储,为固态大容量存储提供了廉价有效的解决方案。Linux内核已经支持s3c2416的nand控制器,可以支持各种容量的nand flash。

2017-04-23 01:23:37 460

原创 Linux开发十五_lcd驱动

lcd能够支持彩色图像的显示和视频的播放,是一种很重要的输出设备,在一些嵌入式人机交互系统中,也往往需要lcd进行显示。Linux内核已经支持了s3c2416的lcd控制器。

2017-04-23 01:19:21 1698

原创 Linux开发十四_ohci驱动

usb接口简单、即插即用、支持热插拔等优点,在各种场合已经大量使用,在嵌入式系统中,也常常需要通过usb外接u盘、键盘、鼠标等设备。Linux内核已经支持usb主机控制协议ohci,可以支持u盘、键盘、鼠标等usb设备。

2017-04-23 01:15:35 540

原创 Linux开发十三_hsmmc驱动

存储卡具有体积小巧、携带方便、使用简单等优点,在嵌入式系统当中,一般作为独立的存储介质。Linux内核已经支持s3c2416的hsmmc控制器,可以支持mmc卡、sd卡等的读写。

2017-04-23 01:11:44 1171

原创 Linux开发十二_i2c驱动

i2c总线是嵌入式领域广泛采用的一种通信标准,其具有接口线少、控制方式简单、通信速率较高等优点。Linux内核已经支持s3c2416的i2c驱动。

2017-04-23 01:07:32 574

原创 Linux开发十一_看门狗驱动

看门狗的用途是当cpu进入到错误状态后,无法恢复的情况下,使系统重新启动。Linux内核已经支持s3c2416的看门狗驱动。

2017-04-23 01:04:13 822

原创 Linux开发十_rtc驱动

rtc为操作系统提供时钟、日历、闹钟、周期性中断等功能,并且在断电的情况下,可以由电池供电,以很小的耗电继续运行下去,Linux内核已经支持s3c2416的rtc驱动。

2017-04-23 01:00:25 1409

原创 Linux开发九_按键驱动

按键作为用户系统交互的一部分,在嵌入式系统应用中,占有非常重要的地位。Linux内核输入子系统已经对按键提供了良好的驱动支持,只需要实现相应的按键设备即可让按键正常工作。

2017-04-23 00:54:55 1720

原创 Linux开发八_LED驱动

Linux内核支持多种驱动框架,其中就支持led这样的设备模型。Linux内核实现了一个虚拟的文件系统sysfs,用于提供一个从用户空间访问内核设备的方法。笔者此处就基于sysfs文件系统的led驱动做一个简单的介绍。

2016-12-30 10:27:50 636

原创 Linux开发七_linux内核移植

Linux是一套免费使用和自由传播的操作系统,吸收了来自全世界无数程序员的精华,不断完善壮大。Linux内核高度可移植,其可以运行在各种硬件设备中,如路由器、游戏机、智能手表、手机、台式计算机、超级计算机。笔者此处就s3c2416的Linux内核移植作一个简单的介绍。

2016-09-28 09:54:27 1903 1

原创 Linux开发六_linux内核编译运行

Linux是一个非商业化的产品,任何人都可以获得源代码并研究它。这吸引了很多开发者对其代码进行修改和完善,因此变得越来越流行。从小到手表,大到超级计算机集群,都可以看到Linux的身影。笔者此处就Linux内核的编译以及运行作一个简单的介绍。

2016-09-28 09:46:07 1712

原创 Linux开发五_构建根文件系统

文件系统是对一个存储设备上的数据和元数据进行组织的机制,根文件系统是linux内核启动时所挂载的第一个文件系统。对于一个可启动的linux系统,根文件系统是其不可或缺的一部分。笔者此处就根文件系统的构建作一个简单的介绍。

2016-01-08 00:17:10 2169

原创 Linux开发四_bootloader启动linux内核

不同的CPU具有不同的启动方式,其系统外设等均具有较大的差异。CPU上电启动后,并不具有相应的内核启动环境,需要bootloader先初始化CPU及相应系统外设,加载内核,使之具备内核启动的必要条件。bootloader一般应有下载固化以及加载启动这两个功能,笔者此处就s3c2416基于yaffs文件系统的linux下载固化以及加载启动作一个简单的介绍。

2016-01-08 00:09:11 4017

原创 S3C2416裸机开发系列二二_Lwip的移植

Internet实现了全球范围内计算机网络的互连,不同主机之间必须遵循相同的网络协议才能彼此通信。TCP/IP协议作为一种网络互联协议,在Internet中得到了最广泛的支持以及应用。笔者此处就轻量级TCP/IP协议Lwip的移植作一个简单的介绍。

2015-11-01 12:30:23 1860 1

原创 S3C2416裸机开发系列二一_Yaffs的移植

Nand作为市面上最主要的非易失性闪存技术之一,应用在各种固态大容量存储解决方案中。由于Nand flash自身的特点,Nand存储器往往需要一款专用的Nand文件系统进行管理。开源的Yaffs文件系统由于其优异的性能,在Nand flash中受到广泛的应用,笔者此处就Yaffs的移植作一个简单的介绍。

2015-11-01 12:24:31 1603 1

s3c2416裸机开发

s3c2416裸机开发,从最基本的编译环境,到各个外设的驱动编写,深入到rtos,嵌入式gui, 文件系统,网络协议等等中间件的移植及应用

2017-04-30

s5pv210裸机开发

s5pv210裸机开发,从最基本的编译环境,到各个外设的驱动编写,深入到rtos,嵌入式gui, 文件系统,网络协议等等中间件的移植及应用

2017-04-30

proteus仿真arm,芯片为LPC2106,全汇编,采用KEIL

proteus仿真arm,芯片为LPC2106,全汇编,采用KEIL,可实际观察效果,为学习ARM提供参考

2011-07-13

s3c2416移植rtos

基于s3c2416移植rtos,对比主流的实时操作系统ucos, freertos的移植,分析rtos移植的共性,移植对于arm7、arm9、arm11、cortex-a都是适用的。

2017-04-30

STC单片机详细资料,各种型号都有,与普通51兼容

STC单片机详细资料,各种型号都有,与普通51兼容,详细介绍各种型号的配置与使用

2011-05-28

嵌入式linux开发

Linux开发系列由浅入深地介绍了交叉编译工具的搭建、基于s3c2416 bootloader的实现过程,以目前最新版的linux4.10.10内核为基础,一步步细致地介绍了修改编译,以及最简单的hello world根文件系统到实用复杂的根文件系统的构建。从而对bootloader、linux内核、根文件系统之间的关系有一定的认识。系列文章选取了几个典型的linux设备驱动,如LED、gpio按键、u盘、sd卡、网卡、nand flash、lcd等等,介绍了linux设备驱动框架的模式。针对嵌入式开发,介绍了nand flash文件系统的移植,nfs的搭建(调试开发根文件系统)。针对嵌入式常用的应用(基于目前最新版),介绍了gui系统Qt的移植,触摸屏库tslib的移植,图像处理、计算机视觉opencv的移植,音视频播放器mplayer的移植。

2017-04-30

gcc全局数组非bss段,如何减小目标文件obj的大小

发表于 2014-04-20 最后回复 2014-05-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除