自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

有崖的博客

个人记录

  • 博客(91)
  • 资源 (5)
  • 收藏
  • 关注

原创 c语言和gcc常用

1.链接 secton的用法__attribute__ ((section (name)))比较常用的用法:比如weak属性#define __weak __attribute__((weak))可以定义一个宏包含自定义#define SECTION(name) __attribute__ ((section(#name)))比如自定义如下字段#d...

2019-06-17 21:09:45 399

原创 ZYNQ(PS) 动态加载APP之一

这里主要涉及ZYNQ加载流程及裸机下的动态加载平台 : zedboardvivado : vivado 2018.31. IAP简介IAP,全称In Application Programing, 在应用编程。简单理解,即在程序运行过程中进行编程(升级程序,更新固件)由ZYNQ的启动特性可知,上电后会执行BootROM,然后跳转到FSBL,由FSBL跳转到用户程序。这里实现两个用户程序(基于同一个FSBL,都是默认配置),分别是bootloader和appZYNQ动态加载主要参考UG

2020-09-01 21:48:13 4203 4

原创 u-boot commandline接口移植

启动u-boot后,输入help会得到很多指令,常用的比如tftp,nfs,fatload,fastboot,bootm.bootd等等。这些命令的结构其实很简单。以下从命令的获取/解析/执行来做一个最小化的command line interface,而且很容易移植到比如单片机,zynq裸机等等环境,只有两个文件command.c和command.h在文末会说明命令行接口对外的接口类型及所有的源码。不过:u-boot提供的命令行接口是阻塞的,什么意思呢?即接受命令的过程中不能执行其他内容,在裸机的

2020-08-19 21:52:12 521

原创 stm32 IAP

硬件平台 : STM32f407ZGT6 , 1024K flash, 128K ram# stm32 IAP# mtdpartsNo. name range size1 bootloader 0x08000000 ~ 0x08010000 0x10000 (64K)2 application 0x08010000 ~ 0x08100000 ...

2020-07-08 21:32:20 370

原创 实用的Makefile

Makefile的语法这里不再赘述,这里主要列出常用的Makefile1.最简单的Makefile# Makefileall: gcc -g -Wall -O2 main.c -o testclean: rm -f test *.o应用场景当测试程序只有一个文件,如main.c,最终需要编译成test可执行文件。2.使用特殊的库,例如pthead...

2020-05-07 21:29:16 390

原创 tiny4412 驱动 (19)设备树之lcd驱动(基于DRM)

关于DRM,参考https://blog.csdn.net/hexiaolong2009/category_9281458.html前面基于传统framebuffer的驱动,作为模块加载时没问题, 和内核一起编译后,内核启动到文件系统时LCD不再显示。echo hello > /dev/tty1也不会有任何反应。目前得到的信息, 和内核一起编译后LCD控制寄存器的值全部变成了0;原因...

2020-04-12 17:20:06 1997 6

原创 使用mmap在用户层访问底层硬件

使用mmap在用户层访问底层硬件,基本原理是通过mmap将底层一块内存映射到用户,在LCD驱动里面应用比较多。先看MakefileTARGET = mmap_tool_simpleROOTDIR = /home/flinn/bin/rootfsCROSS_COMPILE := /home/flinn/tools/4.9.4/bin/arm-linux-gnueabi-CC ...

2020-03-10 20:39:17 387

原创 smart210使用官方自带的内核(linux-3.0.8)

* u-boot-2014.4* arm-linux-gcc-4.5.1* linux-3.0.8-20180411github地址:[email protected]:fanglinn/smart210-SDK.git#1.编译cp mini210_linux_defconfig .configmake uImage -j4#2. 修改nand分区匹配u-boot...

2020-01-03 22:05:25 463 2

原创 smart210驱动(12)audio

音频驱动这里smart210_wm8960.c放在drivers/sound/soc/下并修改Makefile和KconfigMakefile# S3c24XX Platform Support# S3C24XX Machine Supportsnd-soc-bells-objs := bells.osnd-soc-smart210-wm8960-objs := smar...

2019-12-23 20:43:47 349

原创 smart210驱动(10)蜂鸣器-platform

buzzer_platform_dev.c/** linux-3.10.27* arm-linux-gcc-4.5.1** @ buzzer device (base platform device driver)*/#include <linux/module.h>#include <linux/init.h> /* module_init, ...

2019-12-23 20:37:21 420

原创 smart210驱动(11)蜂鸣器-pwm

buzzer_pwm_dev.c/** linux-3.10.27* arm-linux-gcc-4.5.1** @ buzzer pwm device (base platform device driver)*/#include <linux/module.h>#include <linux/init.h> /* module_init, ....

2019-12-23 20:37:08 154

原创 smart210驱动(9)蜂鸣器

buzzer_drv.c/** linux-3.10.27* arm-linux-gcc-4.5.1** @ buzzer driver (gpio func)*/#include <linux/module.h>#include <linux/init.h> /* module_init, ... */#include <linux/ke...

2019-12-23 20:36:49 206

原创 smart210驱动(8)keys-input

keys-input.c/** linux-3.10.27* arm-linux-gcc-4.5.1** @ keys driver (input subsystem)* @ ref : gpio_keys.c (drivers\input\keyboard)*/#include <linux/module.h>#include <linux/init.h...

2019-12-20 21:25:46 163

原创 smart210驱动(7)keys

keys.c/** linux-3.10.27* arm-linux-gcc-4.5.1** @ keys driver*/#include <linux/module.h>#include <linux/init.h> /* module_init, ... */#include <linux/kernel.h> /* everyt...

2019-12-20 21:24:44 125

原创 smart210驱动(6)leds-heartbeat

驱动内核里面已经提供了,这里只是设备端的描述即可。led-heartbeat.c/** linux-3.10.27* arm-linux-gcc-4.5.1** @ leds driver (heartbeat)*/#include <linux/module.h>#include <linux/init.h> /* module_init, ...

2019-12-20 21:19:49 185

原创 smart210驱动(5)leds-platform

MakefileTARGET := leds_devobj-m += $(TARGET).oROOTFS = /home/flinn/smart210-SDK/fs/drvKERNEL = /home/flinn/smart210-SDK/linux-3.10.79all: make -C $(KERNEL) M=`pwd` modulesclean: make -C ...

2019-12-20 21:18:09 131

原创 smart210驱动(4)leds-gpiolib

MakefileTARGET := leds_drvobj-m += $(TARGET).oROOTFS = /home/flinn/smart210-SDK/fs/drvKERNEL = /home/flinn/smart210-SDK/linux-3.10.79all: make -C $(KERNEL) M=`pwd` modulesclean: make -C ...

2019-12-20 21:09:59 132

原创 smart210驱动(3)led驱动

MakfileTARGET := leds_drvobj-m += $(TARGET).oROOTFS = /home/flinn/smart210-SDK/fs/drvKERNEL = /home/flinn/smart210-SDK/linux-3.10.79all: make -C $(KERNEL) M=`pwd` modulesclean: make -C $...

2019-12-20 21:08:14 175

原创 smart210驱动(2) hello驱动-platform

MakefileTARGET := hello_drvobj-m += $(TARGET).oROOTFS = /home/flinn/smart210-SDK/fs/drvKERNEL = /home/flinn/smart210-SDK/linux-3.10.79all: make -C $(KERNEL) M=`pwd` modulesclean: make -C...

2019-12-20 21:02:16 143

原创 smart210驱动(1) hello驱动

MakefileTARGET := hello_drvobj-m += $(TARGET).oROOTFS = /home/flinn/smart210-SDK/fs/drvKERNEL = /home/flinn/smart210-SDK/linux-3.10.79all: make -C $(KERNEL) M=`pwd` modulesclean: make -C...

2019-12-20 20:53:28 193

原创 linux-3.x 添加单板

version : linux-3.10.79gcc : arm-linux-gcc-4.5.1board : smart210目录1.拷贝基本文件2.修改对应目录下Makfile和Kconfig3.修改单板文件4.添加xxx_defconfig文件5.添加mach-types6.编译1.拷贝基本文件cp arch/arm/mach-s...

2019-11-19 19:57:07 281

原创 tiny4412 驱动 (18)lcd和串口同时输出启动日志

原来的bootargssetenv bootargs "noinitrd init=/linuxrc console=ttySAC0,115200 root=/dev/nfs rw nfsroot=192.168.1.100:/home/flinn/tmp/rootfs ip=192.168.1.123:192.168.1.100:192.168.1.1:255.255.255.0::eth...

2019-11-16 22:26:10 215

原创 linux下NFS环境搭建及nfs文件系统挂载

安装(ubuntu)sudo apt install nfs-kernel-serverexportsudo vim /etc/exports# /etc/exports: the access control list for filesystems which may be exported# to NFS clients. See ex...

2019-11-13 19:12:31 518

原创 tiny4412 驱动 (18)clk驱动框架

关于clk common framework,在drivers/clk目录下drivers/clk/clk-exynos4.cstatic void __init exynos4412_clk_init(struct device_node *np){ exynos4_clk_init(np, EXYNOS4X12);}CLK_OF_DECLARE(exynos4412_clk,...

2019-11-11 22:33:39 288

原创 tiny4412 驱动 (17)RTC驱动

设备树vim arch/arm/boot/dts/exynos4.dtsi rtc: rtc@10070000 { compatible = "samsung,s3c6410-rtc"; reg = <0x10070000 0x100>; interrupt-pare...

2019-11-11 21:02:36 380

原创 tiny4412 debugfs

在文件系统里面添加debugfsvim etc/fstab#device mount-point type options dump fsck orderproc /proc proc defaults 0 0tmpfs /...

2019-11-08 21:48:42 154

原创 tiny4412 Layout and deploy

tiny4412 Layout/* * SD MMC layout: * +------------------------------------------------------------------------------------------+ * | ...

2019-11-08 21:31:10 159

原创 tiny4412 驱动 (16)aplay问题

sound设备:[root@tiny4412 ]# ls /dev/snd/controlC0 pcmC0D0p timer问题[root@tiny4412 ]# aplay music.wavPlaying WAVE 'music.wav' : Signed 16 bit Little Endian, Rate 16000 Hz, Monoaplay: pcm_wr...

2019-11-08 21:09:47 1399

原创 tiny4412 驱动 (15)解决DMA的问题

进入文件系统后,输入ls会出现dma-pl330 12680000.pdma: Reset Channel-1 CS-20000f FTC-20000而且不会显示全。这个解决参考https://blog.csdn.net/qq_25370227/article/details/84891632原因为了强制执行对非安全世界外设和地址访问的限制,Exynos4412配备了“Tr...

2019-11-08 21:07:28 497 1

原创 tiny4412 驱动 (14)设备树之ADC

设备树 adc@126C0000 { compatible = "tiny4412,adc"; reg = <0x126C0000 0x20>; clocks = <&clock CLK_TSADC>; clock-names = ...

2019-11-06 21:43:08 448

原创 移植alsa-utils

目录结构/home/flinn/tmp/rootfs[alsa-lib ]CC=arm-linux-gcc ./configure --host=arm-linux --prefix=/home/flinn/tmp/rootfs/ --disable-pythonmakemake install[alsa-utils]CC=arm-linux-gcc ./confi...

2019-11-06 21:23:03 175

原创 zynq在u-boot里面的分区

u-boot : u-boot-xlnxref : https://github.com/xilinx/u-boot-xlnx.gittag : xilinx-v2017.1# git checkout xilinx-v2017.1其关于分区的信息都可以从include/configs/zynq-common.h里面获取#define CONFIG_EXTRA_EN...

2019-10-25 21:56:18 830

原创 传统方式移植linux到zynq

gcc : petalinux-2017.4自带的u-boot tag : xilinx-v2017.1vivado : 2017.4download u-bootgit clone https://github.com/Xilinx/u-boot-xlnxgit checkout xilinx-v2017.1注意:github上下载特别慢,可以先clone到gitee...

2019-10-24 21:58:28 1521 6

原创 移植madplayer

GCC:/home/flinn/tools/4.5.1/bin/arm-none-linux-gnueabi-gccDIR: /home/flinn/tmp/mdplay/install1.zlib-1.2.8地址http://www.zlib.net/./configure --prefix=/home/flinn/tmp/mdplay/installvim Makefile...

2019-10-17 21:45:38 374

原创 Petalinux制作linux系统(2)

前面已经说Petalinux制作linux系统搭建环境相关的https://blog.csdn.net/qq_21353001/article/details/89737870这里假设有一个工程,提供hdf文件和bit文件zc706.sdk包含文件如下top.hdftop.bit source source /opt/pkg/petalinux/sett...

2019-10-15 19:47:08 496 1

原创 tiny4412 驱动 (13)设备树之keys

设备树:keys { compatible = "tiny4412,keys"; tiny4412,key1 = <&gpx3 2 GPIO_ACTIVE_HIGH>; tiny4412,key2 = <&gpx3 3 GPIO_ACTIVE_HIGH>;...

2019-07-21 21:52:54 205

原创 tiny4412 驱动 (12)设备树之beep(pwm)

内核版本linux-4.19.27不同前面设备树之beep,只是控制gpio电平来驱动beep,这里使用pwm先看设备树beep-pwm { compatible = "tiny4412,beep-pwm"; reg = <0x139D0000 0x14>; pinctrl-n...

2019-07-21 21:49:13 1043

原创 tiny4412 驱动 (11)设备树之hello

设备树HelloWorld { compatible = "tiny4412, hello_world"; status = "okay"; test { label = "test"; }; };...

2019-07-16 20:35:48 307

原创 tiny4412 驱动 (10)设备树之beep

重要参考文档:1.Documentation/devicetree/bindings/pinctrl/samsung-pinctrl.txt2.Documentation/devicetree/bindings/gpio/gpio-samsung.txt3.Documentation/devicetree/bindings/pinctrl/pinctrl-bindings.txt从原...

2019-07-12 21:26:49 324

原创 tiny4412 驱动 (9)beep

先说原理图其中XpwmTOUT0接的GPD0_0对于Makefile:TARGET := beepobj-m += $(TARGET).oROOTFS = /home/flinn/tmp/rootfsKERNEL = /home/flinn/tiny4412-SDK/linux-4.19.27all: make -C $(KERNEL) M...

2019-07-12 20:37:34 166

linux-4.14.2.diff

tiny4412(1611),支持设备树,支持nfs,支持wm8960,可以发现设备

2019-10-17

stm32f1 直流电机控制

stm32f1 直流电机控制, 完整工程 带PID(速度环), 参数可调

2018-12-16

xshell5免安装破解版

xshell5绿色免安装破解版 支持win7,win10, 64位系统

2018-12-16

SSH secure shell client win7/win10

亲测可用的文件传输工具, 配置简单,容易上手 支持win7, win10

2018-09-28

tftp 64位 win7/win10

实测可用tftp工具,无需安装,配置简单。 支持win7, win10

2018-09-28

空空如也

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

TA关注的人

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