<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[时光左an的博客]]></title><description><![CDATA[声明:博文的编写，主要参考网上资料，并结合个人见解，仅供学习、交流使用，如有侵权，请联系博主删除。]]></description><link>https://blog.csdn.net/cs953575</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; cs953575]]></copyright><item><title><![CDATA[samba restart fail]]></title><link>https://blog.csdn.net/cs953575/article/details/119084113</link><guid>https://blog.csdn.net/cs953575/article/details/119084113</guid><author>cs953575</author><pubDate>Sun, 25 Jul 2021 17:20:26 +0800</pubDate><description><![CDATA[最近用树莓派搞个NAS，用samba实现文件共享，记录下出现的问题及解决。

1.问题

一通安装及操作重启samba，出现以下问题

Restarting smbd (via systemctl): smbd.serviceJob for smbd.service failed because the control process exited with error code.
See "systemctl status smbd.service" and "journalctl -xe" for de]]></description><category></category></item><item><title><![CDATA[FreeRTOS 移植，问题总结]]></title><link>https://blog.csdn.net/cs953575/article/details/118443722</link><guid>https://blog.csdn.net/cs953575/article/details/118443722</guid><author>cs953575</author><pubDate>Sat, 03 Jul 2021 21:04:13 +0800</pubDate><description><![CDATA[一直没亲手移植过FreeRTOS，心血来潮移植了下最新版的FreeRTOSv202104.00

过程不赘述，可以参考https://www.cnblogs.com/iot-dev/p/11681067.html，写的还是非常详细的。

task还是常见的LED1LED2闪烁加UART的打印，期间遇到了几个问题，如

1.程序跑过了 vTaskStartScheduler(); //开启调度，继续往校跑

2.进入HardFault_Handler（这个应该是为#define configTOTAL...]]></description><category></category></item><item><title><![CDATA[Shared Libraries: Understanding Dynamic Loading]]></title><link>https://blog.csdn.net/cs953575/article/details/118185063</link><guid>https://blog.csdn.net/cs953575/article/details/118185063</guid><author>cs953575</author><pubDate>Thu, 24 Jun 2021 12:51:06 +0800</pubDate><description><![CDATA[https://amir.rachum.com/blog/2016/09/17/shared-libraries/

]]></description><category></category></item><item><title><![CDATA[NXP实习面试]]></title><link>https://blog.csdn.net/cs953575/article/details/75808132</link><guid>https://blog.csdn.net/cs953575/article/details/75808132</guid><author>cs953575</author><pubDate>Tue, 08 Aug 2017 09:59:15 +0800</pubDate><description><![CDATA[周三下午去恩智浦实习面试嵌入式软件。
      到了地方先让做了笔试，一个小时，主要是c、两个linux选择、一篇英语阅读选择、一道智力题、两个测试的题目。都不是太难。
     面试]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-DMA笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/72266107</link><guid>https://blog.csdn.net/cs953575/article/details/72266107</guid><author>cs953575</author><pubDate>Tue, 16 May 2017 13:43:09 +0800</pubDate><description><![CDATA[一、开发环境







1、内核：Linux 2.6.22.6；

2、JZ2440v3

3、ubuntu 9.10

二、实现使用dma把一块数据存储到另一块上。实现过程：

1.创建字符设备驱动。包括定义file_operations结构变量，注册字符设备register_chrdev，使用class_create、class_device_create自]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-I2C笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/71570516</link><guid>https://blog.csdn.net/cs953575/article/details/71570516</guid><author>cs953575</author><pubDate>Wed, 10 May 2017 20:18:58 +0800</pubDate><description><![CDATA[一、开发环境







1、内核：Linux 2.6.22.6；

2、JZ2440v3

3、ubuntu 9.10

二、过程

1.分配一个i2c_driver结构体

2.设置i2c_driver结构体

两个重要的成员

.attach_adapter//它直接调用i2c_probe(adap，设备地址，发现这个设备后要调用的函数)]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-网络设备驱动笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/70598410</link><guid>https://blog.csdn.net/cs953575/article/details/70598410</guid><author>cs953575</author><pubDate>Mon, 24 Apr 2017 15:25:06 +0800</pubDate><description><![CDATA[一、开发环境







1、内核：Linux 2.6.22.6；

2、JZ2440v3

3、ubuntu 9.10]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-nor flash笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/70598390</link><guid>https://blog.csdn.net/cs953575/article/details/70598390</guid><author>cs953575</author><pubDate>Mon, 24 Apr 2017 15:23:15 +0800</pubDate><description><![CDATA[一、开发环境







1、内核：Linux 2.6.22.6；

2、JZ2440v3

3、ubuntu 9.10]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-nand flash笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/70598374</link><guid>https://blog.csdn.net/cs953575/article/details/70598374</guid><author>cs953575</author><pubDate>Mon, 24 Apr 2017 15:22:09 +0800</pubDate><description><![CDATA[一、开发环境







1、内核：Linux 2.6.22.6；

2、JZ2440v3

3、ubuntu 9.10]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-块设备笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/70147234</link><guid>https://blog.csdn.net/cs953575/article/details/70147234</guid><author>cs953575</author><pubDate>Thu, 13 Apr 2017 20:03:05 +0800</pubDate><description><![CDATA[一、开发环境







1、内核：Linux 2.6.22.6；

2、JZ2440v3

3、ubuntu 9.10
二、过程
1. 分配gendisk: alloc_disk
2. 设置
2.1 分配/设置队列: request_queue_t  // 它提供读写能力
    blk_init_queue
2.2 设置gendisk其他信息]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-usb实现按键功能笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/70147217</link><guid>https://blog.csdn.net/cs953575/article/details/70147217</guid><author>cs953575</author><pubDate>Wed, 12 Apr 2017 20:37:41 +0800</pubDate><description><![CDATA[一、开发环境







1、内核：Linux 2.6.22.6；

2、JZ2440v3

3、ubuntu 9.10
二、]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-触摸屏笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/70147199</link><guid>https://blog.csdn.net/cs953575/article/details/70147199</guid><author>cs953575</author><pubDate>Wed, 12 Apr 2017 20:36:01 +0800</pubDate><description><![CDATA[一、开发环境







1、内核：Linux 2.6.22.6；

2、JZ2440v3

3、ubuntu 9.10
二、]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-lcd驱动笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/66975515</link><guid>https://blog.csdn.net/cs953575/article/details/66975515</guid><author>cs953575</author><pubDate>Mon, 27 Mar 2017 19:55:39 +0800</pubDate><description><![CDATA[一、开发环境
1、内核：Linux 2.6.22.6；
2、JZ2440v3
3、ubuntu 9.10]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-bus-driver-device模型笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/66480659</link><guid>https://blog.csdn.net/cs953575/article/details/66480659</guid><author>cs953575</author><pubDate>Mon, 27 Mar 2017 13:28:52 +0800</pubDate><description><![CDATA[一、开发环境




1、内核：Linux 2.6.22.6；

2、JZ2440

3、ubuntu 9.10
二、概念
    一个现实的linux设备驱动通常需要挂接在一种总线上，对于本身依附于PCI，USB，IIC，SPI等的设备而言，这自然不是问题，但是在嵌入式系统里面，SOC系统中集成的独立的外设控制器，挂接在SOC内存空间的外设等确不依附于此类总线。基于这一背景]]></description><category></category></item><item><title><![CDATA[嵌入式linux驱动-输入子系统笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/65630810</link><guid>https://blog.csdn.net/cs953575/article/details/65630810</guid><author>cs953575</author><pubDate>Fri, 24 Mar 2017 21:28:37 +0800</pubDate><description><![CDATA[一、开发环境



1、内核：Linux 2.6.22.6；

2、JZ2440

3、ubuntu 9.10




二、过程

1、分配input_dev结构体

   使用input_allocate_device函数，如：

先定义一个input_dev 结构体类型变量：static struct input_dev
 *key_dev;]]></description><category></category></item><item><title><![CDATA[linux字符设备驱动-定时器按键去抖笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/62881986</link><guid>https://blog.csdn.net/cs953575/article/details/62881986</guid><author>cs953575</author><pubDate>Fri, 17 Mar 2017 14:11:32 +0800</pubDate><description><![CDATA[一、开发环境



1、内核：Linux 2.6.22.6；

2、JZ2440

3、ubuntu 9.10

二、原理

  机械按键按下时，弹片接触瞬间会使信号产生抖动，如果是使用中断读取按键值得话，则产生多次中断。使用定时器去抖的原理是，在按键中断函数里，初始化一个定时10ms(也可以是其他时间，一般10ms就可以了)的定时器函数。也就是说，这瞬间几次的中断都会使这]]></description><category></category></item><item><title><![CDATA[linux字符设备驱动-同步互斥阻塞笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/60880810</link><guid>https://blog.csdn.net/cs953575/article/details/60880810</guid><author>cs953575</author><pubDate>Wed, 08 Mar 2017 20:01:32 +0800</pubDate><description><![CDATA[一、开发环境



1、内核：Linux 2.6.22.6；

2、JZ2440

3、ubuntu 9.10

二、互斥

为了实现同一时绝对的只能有一个进程使用某个设备需要互斥机制，linux互斥机制有多种，如原子变量、互斥锁、信号量、自旋锁、读写锁等等。

1、原子操作。指执行的过程中不会被别的代码路径所中断的操作。实现原子操作过程：

 1.1 其常使用的函]]></description><category></category></item><item><title><![CDATA[linux字符设备驱动-异步通知笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/60748644</link><guid>https://blog.csdn.net/cs953575/article/details/60748644</guid><author>cs953575</author><pubDate>Tue, 07 Mar 2017 09:41:43 +0800</pubDate><description><![CDATA[一、开发环境



1、内核：Linux 2.6.22.6；

2、JZ2440

3、ubuntu 9.10]]></description><category></category></item><item><title><![CDATA[linux字符设备驱动-poll机制笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/60590183</link><guid>https://blog.csdn.net/cs953575/article/details/60590183</guid><author>cs953575</author><pubDate>Mon, 06 Mar 2017 19:43:28 +0800</pubDate><description><![CDATA[一、开发环境



1、内核：Linux 2.6.22.6；

2、JZ2440

3、ubuntu 9.10

二、poll增加过程

Poll就是监控文件是否可读的一种机制，作用与select一样。




应用程序的调用函数如下：

int poll(struct pollfd *fds,nfds_t nfds, int timeout);

Pol]]></description><category></category></item><item><title><![CDATA[linux设备驱动-按键中断实验笔记]]></title><link>https://blog.csdn.net/cs953575/article/details/60145100</link><guid>https://blog.csdn.net/cs953575/article/details/60145100</guid><author>cs953575</author><pubDate>Fri, 03 Mar 2017 19:06:56 +0800</pubDate><description><![CDATA[一、开发环境



1、内核：Linux 2.6.22.6；

2、JZ2440

3、ubuntu 9.10

二、实验笔记

1、命令

insmod 加载模块

rmmod 卸载模块

ps 显示所有进程

ls -l /proc/791/fd
/proc/$pid/fd 目录下存放了$pid进程中所有打开的fd


lsmod 显示加载的模块]]></description><category></category></item></channel></rss>