- 博客(10)
- 资源 (2)
- 收藏
- 关注
原创 嵌入式系统学习(九)-用过内核驱动操作GPIO
在本文中,采用传统的编写驱动函数的方法来实现按键驱动程序.采用内核函数变成的方式,首先我们需要编写一个内核驱动函数,如针对按钮:key_kernel.c,源代码如下: #include #include #include #include #include #include #include #include #include #include
2016-10-01 22:40:13
537
原创 嵌入式系统学习(八)-通过sysfs(/sys/class/gpio)操作GPIO
通过实现按钮控制LED灯例程,来说明整个过程:LED灯接口说明:LED4的连接管脚是GPIOC12,根据计算,其base=64+12=76按钮接口说明:按钮1连接GPIOC7,根据计算,其base=64+7=71现在若要通过c语言的程序实现这个功能,我们需要用到一个库函数。从github上下载matrix外接板lib到pc端的ubuntu系统上,文件如下所示:
2016-10-01 19:26:29
1859
原创 嵌入式系统学习(七)-bootloader修改实例
从 github 中下载 Nanopi2 的 uboot 源码后,从源代码根目录中找到 u-boot.lds 文件,可以看到以下内容:以上片断可以分析出,整个 uboot 程序从 arch/arm/cpu/slsiap/s5p4418/start.o 开始执行,且执行的入口为 _stext。打开 arch/arm/cpu/slsiap/s5p4418/start.S,在第 20
2016-10-01 16:32:05
4078
原创 嵌入式系统学习(六)-bootloader基础及分析
为启动ARM Linux系统,BootLoader需要初始化多种设备,最终调用Linux内核,并向内核传递硬件相关的信息。 BootLoader最终需要提供以下功能:a. 建立和初始化内存b. 初始化一个串口c. 检测设备类型d. 设置内核tagged列表(描述硬件参数)e. 加载initramfsf. 调用内核镜像 调用内核时,需要满足以下要求:(
2016-10-01 15:21:50
940
2
原创 嵌入式系统学习(五)-NanoPi2基础实例开发(裸机程序按钮控制LED灯)
实现一个裸机程序,功能:当一个按钮按下后,灯亮;按钮弹起时,灯灭。 如果我要控制黄色的LED,那么应该找GPIOC的相关寄存器。知道是GPIOC12之后,我们可以根据手册查找GPIOC12的相关寄存器是哪些位控制的,如下所示:至于要选哪个功能,查S5P4418手册:裸机程序需要2个文件,分别是start.s
2016-10-01 14:57:15
1010
原创 嵌入式系统学习(四)-NanoPi2嵌入式开发平台
NanoPi2主板是一款针对不同应用而设计的高性能嵌入式硬件开发平台。它搭载Cortex-A9架构的四核S5P4418处理器(主频1.4GHz),内存达到1GDDR3。NanoPi2板上资源十分丰富:蓝牙模块、无线网卡使数据传输更加便捷;对LCD和HDMI同步输出的支持方便了复杂应用的开发;无比丰富的扩展接口,对接Matrix-Compact Kit、Raspberry Pi使得应用开发更加得
2016-10-01 11:31:59
1007
原创 嵌入式系统学习(三)-S5P4418 芯片存储空间分布说明
S5P4418 的内存控制器是基于统一内存架构,它由两部分控制单元构成:MCU-A、MCU-S。每个单元有专用的控制引脚。其中 MCU-A 主要是 DDR3/LVDDR3(LowVoltage DDR3)/LPDDR3/LPDDR2,支持 8/16/32 位 2GB 的 SDRAM,支持下电模式,支持自刷新模式。MCU-S主要是静态内存。它有两块静态内存芯片选择。有 NAND FLASH接 口。
2016-10-01 10:34:22
2849
原创 嵌入式系统学习(二)-S5P4418芯片启动模式
S5P4418芯片支持多种系统启动的模式,主要分为两种类型:(1) 外部静态内存启动在外部静态存储启动的方式下,nSCS[0]通过reset配置设置到0x00000000地址处,并且CPU可以通过MCU-S访问静态内存。(2)内部ROM启动此芯片有一个内置的20KB的ROM。设置好CfgBOOTMODE,CPU会从internal ROM的0地址处取出指令执行,intern
2016-10-01 10:02:49
1885
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人