首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

鸿蒙系统开发教程_韦东山 2-1移植RTOS需要做的事

常见的错误观点是把鸿蒙跟Linux放在一起来对比,这不对: Linux只是一个内核,普通人无法使用 还需要在Linux之上安装各类程序 比如Ubuntu等发行版,它们在Linux内核之上,还有桌面、各类办公软件...)的设置:虚拟地址与物理地址 完善中断子系统 提供系统tick时钟 为串口驱动实现基于中断的读取字符函数 实现存储设备驱动程序 在存储设备上烧录文件系统 3.1 串口相关 与Linux串口驱动相比...Nor Flash、Nand Flash的驱动程序相对简单,但是这些设备比较少见了。 而EMMC、SD/TF卡的驱动程序又太复杂,足够出一个专题了。...根文件系统里会有这些内容: 程序 库 配置文件 用户数据(可选) 驱动程序(可选) 4....想做更多 为有更好的人机交互可以移植LCD、触摸屏驱动 为了方便开发,移植EMMC驱动、网卡驱动 要接各类外设,还需要I2C、SPI、GPIO、UART驱动 可选) 驱动程序(可选)

1.1K10

韦东山鸿蒙移植01-移植RTOS需要做的事

常见的错误观点是把鸿蒙跟Linux放在一起来对比,这不对: Linux只是一个内核,普通人无法使用 还需要在Linux之上安装各类程序 比如Ubuntu等发行版,它们在Linux内核之上,还有桌面...)的设置:虚拟地址与物理地址 完善中断子系统 提供系统tick时钟 为串口驱动实现基于中断的读取字符函数 实现存储设备驱动程序 在存储设备上烧录文件系统 3.1 串口相关 与Linux...的串口驱动相比,鸿蒙的串口驱动极大简化了。...Nor Flash、Nand Flash的驱动程序相对简单,但是这些设备比较少见了。 而EMMC、SD/TF卡的驱动程序又太复杂,足够出一个专题了。...想做更多 为有更好的人机交互可以移植LCD、触摸屏驱动 为了方便开发,移植EMMC驱动、网卡驱动 要接各类外设,还需要I2C、SPI、GPIO、UART驱动 摄像头、声卡驱动 百问网技术论坛: http

1.5K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Linux基础(串口编程)

    虽然以太网接口和USB接口也是以一个串行流进行数据传送的,但是串口连接通常特指那些与RS-232标准兼容的硬件或者调制解调器的接口。废话少讲,今天来解剖使用串口时的编程代码细节。...上面的代码是使用串口的第一步,来解释下都是啥意思。...来瞧瞧: 第21-22行,定义了一个用来配置串口属性的结构体: struct termios serial; bzero(&serial, sizeof(serial)); 第24行,将串口设置为raw...cfsetispeed(&serial, B9600); cfsetospeed(&serial, B9600); 第28-32行,设置串口控制属性(c_cflag),其中: serial.c_cflag...: tcsetattr(fd,TCSANOW,&serial); 当然,上面的 fd 就是系统中的某一个你想要设置的成上面那样的属性参数的串口,比如就拿粤嵌GEC210开发板来说,他有四个串口,其中第一个就已经被用于终端控制了

    12.8K20

    DRV_03_编写最简单的触摸驱动程序_基于QEMU

    视频观看 百问网驱动大全 List item 编写最简单的触摸驱动程序_基于QEMU 参考资料: STM32MP157\source\A7\05_Input\03_touchscreen_qemu...* 深入学习内核及驱动 * 使用QEMU可以非常方便地调试内核、查看驱动程序执行过程 * 有助于深入研究内核及驱动 * 学习某些驱动时可以用QEMU模拟硬件,简化硬件的操作,把精力放在驱动程序框架本身...后面的视频里,会使用QEMU来讲解某些驱动程序。...,不能模拟多点触摸 4....编写驱动程序 request_irq 在中断处理函数里 上报按下、松开的事件 如果触摸屏被按下,启动定时器 如果触摸屏被松开,取消定时器 在定时器函数里 如果触摸屏还是被按下的状态

    1.3K30

    第六课:在LCD驱动中使用设备树

    第01节_使用设备树给DM9000网卡_触摸屏指定中断 在上一课我们把中断体系讲得很清楚了,我们先看一下内核里的网卡驱动程序,所在路径为: drivers/net/ethernet/davicom/dm9dev9000...测试触摸屏: hexdump /dev/evetn0 // 然后点击触摸屏 第02节_在设备树中时钟的简单使用 在本课里,本来只打算讲解两节,分别是网卡、触摸屏指定中断和在设备树里为LCD指定参数,后来发现...是由驱动程序提供的,该节点会对应一个驱动程序驱动程序给硬件(消费者)都分配了一个ID,所以说复杂的操作都留给驱动程序来做。...中串口0的流量控制引脚使用 GPH0,GPH1, 那这2个引脚也可以列为一组 ?...当串口处于default状态时,它是由pinctrl-0指定若干组(group)引脚; 当串口处于sleep状态时,它是由pinctrl-1指定若干组(group)引脚; 设备的pinctrl的设置时机

    1.2K31

    给MacBook写一个更好的Windows触摸驱动程序

    ndows Precision触摸驱动程序实现 众所周知 Boot Camp 的触摸板驱动不是那么好用,所以我们就来实现一个在 Windows 10 上能用的触摸板驱动吧。...微软在 Windows 8.1 后加入了一套新的触摸板模型,叫做 Precision Touchpad,相关文档可以看这里。...配置设备其实就是给触摸板写一个 HID Feature Report 来打开触摸板模式,在基于 USB 的 MacBook 触摸板可以用 USB Control Transfer,基于 SPI 的触摸板需要给...在基于 USB 的 MacBook 触摸板上,可以使用中断,而 SPI 的需要使用轮询。按照 PTP 的 HID 描述符要求把数据喂回去然后完成请求即可。...几个坑和提示 设备 D0/D3 转换的时候可以关掉触摸板来省电(反正 MacBook 没 S0ix ) 一定要精确报告每个 Input Frame 的测量时间,不然加速度会变得非常奇怪(你可以用?

    1.5K10

    Linux 查看本机串口方法

    最近在了解嵌入式方面的知识,就随笔记录一下: 查看Linux本机串口: 1、查看串口是否可用    可以对串口发送数据比如对com1口,echo /dev/ttyS0 2、查看串口名称使用    ls...-l /dev/ttyS*   一般情况下串口的名称全部在dev下面,如果你没有外插串口卡的话默认是dev下的ttyS*,一般ttyS0对应com1,ttyS1对应com2,当然也不一定是必然的; 3、...查看串口驱动    cat/proc/tty/drivers/serial 4、查看串口设备    dmesg | grep ttyS* 5、查一下板子上的串口有没有设备    grep tty/proc.../dev下应该有一个USB串口:/dev/ttyUSB0. 当一个串行卡或数据卡被侦测到时,它会被指定成为第一个可用的串行设备。...PC上的串口一般是ttyS,板子上Linux串口一般叫做ttySAC; 串口使用: 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0

    21.9K20

    Linux 串口的基本用法

    查看Linux本机串口: 1、查看串口是否可用 如果需要查看这个串口设备输出: cat ttyUSB0 如果需要对这个设备输入: echo yaoxu > ttyUSB0 常用的调试工具有: minicom...cutecom Linux系统可视化串口应用软件,使用上与Windows系统串口调试工具。 picocom 效果上类似 minicom 的精简版,设置比较简单,还可以有背景颜色。...PC上的串口一般是ttyS,板子上Linux串口一般叫做ttySAC; 串口权限问题 临时调试解决 在使用串口进行通信时,经常需要使用指令来赋予用户读写的权限 $ sudo chmod 777 /dev...查看linux所有用户 使用 /etc/passwd 文件 使用任何一个像 cat、more、less 等文件操作命令来打印 Linux 系统上创建的用户列表。.../etc/passwd 是一个文本文件,其中包含了登录 Linux 系统所必需的每个用户的信息。

    10K41

    编写一个rt-smart上的应用程序体验一下!

    设计思路 2.1 驱动设计 2.2 树莓派4 上的framebuffer与touch 2.3 上层应用程序的设计 3.开发流程 3.1 环境搭建 3.2 编写lvgl_smart应用程序 3.3 编写驱动程序...对于触摸,只需从GPU获取一个地址,该地址记录这触摸的buffer,支持多点触摸的坐标信息。 这就是异构设计共享内存的特点,传递消息机制都是如此的有特色。...检查并确认gcc路径为:rt-smart\tools\gnu_gcc\install_arm-linux-musleabi_for_i686-w64-mingw32\bin。...整个app的工程项目代码在下面找到: https://gitee.com/bigmagic/lvgl_smart 3.3 编写驱动程序 由于目前公开版本的代码还在稳定期,我未向其pr,目前工程代码还在整理之中...连接串口线 按照树莓派的串口序号进行连接 ? 连接时,可以将树莓派的GND与串口模块的GND相连,树莓派上的RX、TX与串口模块交叉相连。 注意串口波特率115200,停止位1,无奇偶校验位。

    1.6K00

    Linux设备驱动程序(四)——调试技术

    根据日志级别,内核可能会把消息打印到当前控制台上,这个控制台可以是一个字符模式的终端、一个串口打印机或是一个并口打印机。...如果使用某个慢速控制台设备(比如串口),过高的消息输出速度会导致系统变慢,甚至使系统无法正常响应。...在 Linux 系统中对 /proc 的使用很频繁。现代 Linux 发行版中的很多工具都是通过 /proc 来获取它们需要的信息,例如 ps、top 和 uptime。...SysRq 魔法可通过 PC 键盘上的 ALT 和 SysRq(F12键右边) 组合键来激活在其他平台上则通过其他特殊键激活(详情可见Documentation/sysrq.txt)串口控制台上也可激活...Linux 的可装载模块是 ELF 格式的可执行映像,模块会被划分为许多代码段。

    83341

    百问网全志D1h开发板MIPI屏幕触摸功能适配

    使用的是PB0、PB1 TP_INT和TP_RESET使用的是:PB6、PB4 设备树修改 设备树文件: tina-d1-h/device/config/chips/d1-h/configs/nezha/linux...驱动程序 如果不修改驱动程序触摸功能也能使用上,但是x轴是左右反向的,y轴也是如此,在设备树中不能定义处理,需要修改驱动程序。 具体如下。...驱动文件: lichee/linux-5.4/drivers/input/touchscreen/focaltech_touch/focaltech_core.c 修改xy坐标返回值: # 默认:...MIPI LCD测试 将 MIPI LCD和板子连接好,注意连接正确: 然后用adb shell或者串口连接进行操作。...直接查看设备返回信息检查触摸是否有效: cat /dev/input/event2 | hexdump -x 执行后,点击屏幕任一位置,有返回,说明能够接收到触摸数据了: [ 屏幕校准 初次使用屏幕时

    8010

    Linux设备驱动程序(三)——字符驱动

    Linux系统上输入:ls -l /dev 观察输出。...主编号标识设备相连的驱动,例如 /dev/null 和 /dev/zero 都由驱动 1 来管理,而虚拟控制台和串口终端都由驱动 4 管理;次编号被内核用来决定引用哪个设备,依据你的驱动是如何编写的,你可以从内核得到一个你的设备的直接指针...然后内核通过设备文件提供的主设备找到设备驱动程序(操作设备由驱动程序实现)。最后通过主设备号和次设备构成的设备号找到正确的设备。...有了操作的对象(设备)和操作的方法(驱动程序)那就可以完成了我们的要求。 一个驱动程序可以操作多个设备,所以不同的设备可以具有相同的主设备号。...如果想尝试比较简单的字符驱动实现,可以查看我的另一篇驱动开发之 hello 驱动程序实现的文章: 荔枝派Zero(全志V3S)驱动开发之hello驱动程序

    68741

    嵌入式Linux串口编程

    简介 嵌入式Linux串口编程与Linux系统下的编程没有什么区别,系统API都是一样的。...嵌入式设备中串口编程是很常用的,比如会对接一些传感器模块,这些模块大多是RS232或者RS485接口,对于软件层面上来说,RS232与RS48区别不大。...RS232与RS485在使用上的区别,RS232是全双工的,只能对接一个设备串口设备。RS485是半双工的总线协议,一般可以挂多个传感器设备,半双工的意思是同时只能有一个设备向串口发数据。...用到的API函数 函数 说明 open 打开设备,用于打开串口设备 fcntl 修改设备描述符属性参数 isatty 检测打开的描述符是否指向一个终端 tcgetattr 用来获取串口终端参数 cfmakeraw...将终端设置为原始模式,该模式下所有的输入数据以字节为单位被处理 tcflush 用于清空输入、输出缓冲区 tcsetattr 设置串口终端参数 read 读取数据 write 写数据 close 关闭串口设备

    13.1K20

    Linux系统驱动之Framebuffer驱动程序框架

    资料下载 coding无法使用浏览器打开,必须用git工具下载: git clone https://e.coding.net/weidongshan/linux/doc_and_source_for_drivers.git...视频观看 百问网驱动大全 Framebuffer驱动程序框架 1....怎么编写字符设备驱动程序 驱动主设备号 构造file_operations结构体,填充open/read/write等成员函数 注册驱动:register_chrdev(major, name, &fops...Framebuffer驱动程序框架 分为上下两层: fbmem.c:承上启下 实现、注册file_operations结构体 把APP的调用向下转发到具体的硬件驱动程序 xxx_fb.c:硬件相关的驱动程序...怎么编写Framebuffer驱动程序 核心: 分配fb_info framebuffer_alloc 设置fb_info var fbops 硬件相关操作 注册fb_info register_framebuffer

    3.3K30
    领券