
c\c++
文章平均质量分 63
蓝天居士
修齐治平,先忧后乐
展开
-
C/C++转换为字符串宏和字符串拼接宏的综合使用
C/C++转换为字符串宏和字符串拼接宏的综合使用原创 2025-03-22 23:33:55 · 816 阅读 · 0 评论 -
C中宏定义#和##
C中宏定义#和##转载 2022-06-02 10:34:38 · 584 阅读 · 0 评论 -
C语言实现环形缓冲区(无需少用一个存储位置)代码
C语言实现环形缓冲区(无需少用一个存储位置)代码原创 2021-12-18 19:31:56 · 1128 阅读 · 0 评论 -
Xorg流程初解析
hw/xfree86/drivers/modesetting/driver.cstatic void *Setup(void *module, void *opts, int *errmaj, int *errmin){ static Bool setupDone = 0; /* This module should be loaded only once, but check to be sure. */ if (!setupDone) { ..原创 2021-07-23 11:20:49 · 1292 阅读 · 0 评论 -
rtk_coex.c中的两个“Page failed“问题
drivers/bluetooth/rtk_coex.c中:static void rtk_handle_connection_complete_evt(u8 * p){ u16 handle; u8 status, link_type; rtk_conn_prof *hci_conn = NULL; status = *p++; STREAM_TO_UINT16(handle, p); p += 6; link_type = *p++; RTKBT_INFO("connecte原创 2021-04-20 17:00:22 · 958 阅读 · 0 评论 -
linux内核radeon gpu源码解析8—— radeon_driver_load_kms函数详解3
目前我们的轨迹为:radeon_driver_load_kms -->radeon_device_init 。本篇来到:radeon_device_init -->radeon_gem_init。源码如下:drivers/gpu/drm/radeon/radeon_gem.cint radeon_gem_init(struct radeon_device *rdev){ INIT_LIST_HEAD(&rdev->gem.objects); return 0;...原创 2021-02-20 11:09:29 · 704 阅读 · 3 评论 -
linux内核radeon gpu源码解析7 —— radeon_driver_load_kms函数详解2
继续在radeon_driver_load_kms函数中徜徉。本篇解析radeon_driver_load_kms函数中的两大核心函数之一:radeon_device_init。调用处代码:r = radeon_device_init(rdev, dev, dev->pdev, flags);源码如下:drivers/gpu/drm/radeon/radeon_device.c/** * radeon_device_init - initialize the driver *原创 2021-02-20 10:33:13 · 881 阅读 · 0 评论 -
linux内核radeon gpu源码解析6 —— radeon_driver_load_kms函数详解1
上一篇引出了radeon_driver_load_kms这个函数,这篇文章开始详细解析这个函数。这个函数是所有和GPU初始化相关的内容的起始点,调用radeon_device_init()来初始化非显示设备的硬件,调用radeon_modeset_init()来初始化显示设备相关的硬件(CRTC、connector、encoder等)。源码如下:drivers/gpu/drm/radeon/radeon_kms.c/** * radeon_driver_load_kms - Main lo.原创 2021-02-19 17:18:55 · 1040 阅读 · 1 评论 -
linux内核radeon gpu源码解析5 —— drm_get_pci_dev函数详解2
上一篇讲到了drm_get_pci_dev函数的第1个函数:drm_dev_alloc。这一篇讲drm_get_pci_dev函数的第2个函数:drm_dev_register。调用处:ret = drm_dev_register(dev, ent->driver_data);源码如下:drivers/gpu/drm/drm_drv.c/** * drm_dev_register - Register DRM device * @dev: Device to register原创 2021-02-19 15:48:23 · 1071 阅读 · 1 评论 -
linux内核radeon gpu源码解析4 —— drm_get_pci_dev函数详解1
上一篇讲到了drm_get_pci_dev函数,这是一个比较关键的函数,其中调用了几个函数,现在一一进行详细说明。先说第1个函数:drm_dev_alloc。调用处:dev = drm_dev_alloc(driver, &pdev->dev);源码如下:drivers/gpu/drm/drm_drv.c/** * drm_dev_alloc - Allocate new DRM device * @driver: DRM driver to allocate dev原创 2021-02-19 14:41:41 · 1290 阅读 · 0 评论 -
linux内核radeon gpu源码解析3 —— Radeon初始化
DRM代码来从底层介绍显卡驱动的初始化过程,显卡类型是AMD的radeon r600以后的系列显卡。基本的过程就是驱动载入,硬件初始化,设置硬件独立的模块(如内存管理器),设置显示(分辨率等)。 代码如下:drivers/gpu/drm/radeon/radeon_drv.cmodule_init(radeon_init);module_exit(radeon_exit);MODULE_AUTHOR(DRIVER_AUTHOR);MODULE_DESCRIPTION(DRIVER_DESC原创 2021-02-18 16:44:04 · 2306 阅读 · 2 评论 -
海思Hi3559AV100的中断IRQ的处理器Affinity设置问题
由前篇文章《海思Hi3559AV100平台韦根接收程序 》引出了一个问题,本应该写在那篇文章中,但由于内容较多,且属于相对独立的一块,所以专门开一篇文章详细说明。 之前发现在海思平台上运行韦根接收程序时,会产生丢中断的现象,当时分析是由于海思芯片中运行了很多MPP模块,这些模块影响了韦根接收程序中用到的GPIO外部中断。 进一步分析印证了当时的判断,根据运行...原创 2020-03-04 14:40:38 · 4304 阅读 · 12 评论 -
海思Hi3559AV100平台韦根发送程序
项目中需要基于海思Hi3559AV100开发韦根功能。韦根分为韦根输出和韦根输入,这篇文章讲韦根输出程序,前一篇文章讲韦根输出程序。 首先,必须要感谢https://blog.youkuaiyun.com/qq_37803273/article/details/84993627 《RK3288韦根发送驱动》的作者的无私分享,文章中提供了源码(以下简称例程),很详细,我的代码也是以这篇...原创 2020-03-03 18:01:06 · 1172 阅读 · 2 评论 -
海思Hi3559AV100平台韦根接收程序
项目中需要基于海思Hi3559AV100开发韦根功能。韦根分为韦根输出和韦根输入,这篇文章讲韦根输入程序,下一篇文章将韦根输出程序。 首先,必须要感谢https://blog.youkuaiyun.com/qq_37803273/article/details/84993571 《RK3288平台韦根接收》的作者,文章中提供了源码(以下简称例程),很详细,我的代码也是以这篇...原创 2020-03-02 18:29:36 · 2404 阅读 · 3 评论 -
Hi3559AV100移植友方4G模块N720V5(二)
接《Hi3559AV100移植友方4G模块N720V5(一)》原创 2020-02-12 14:28:20 · 1564 阅读 · 2 评论 -
ncnn的完整编译过程
1. 下载工程源码:登录到https://github.com/Tencent/ncnn网址,登录后页面如下图所示:2. 选择git clone或zip download方式下载源码。3. 进入到ncnn源码根目录:$ cd <ncnn-root-dir>4. 创建build文件夹:$ mkdir build5. 进入到build...原创 2019-06-14 11:30:43 · 5597 阅读 · 4 评论 -
基于Ubuntu14.04的CuraEngine三维切片源码编译
很久没有更新博客了,一来是忙,二来是项目没有需要写博客记录的。但是最近有不少项目,值得记录下来的,一个一个来,先说第一个。这是一个3D打印机相关的项目,其中很重要的一步是在树莓派上实现CuraEngine的编译。分步骤来,先在ubuntu14.04下进行试验编译。在网上找了很多帖子,或者说按照github上的CuraEngine的指导按步骤进行,或者是列出了一些步骤和问题以及解决方法,但就没有...原创 2018-11-16 18:35:09 · 1120 阅读 · 2 评论