itop-4412开发板使用第一篇-信号量的学习使用(未完待续)(代码片段)

乔海权_429512***杭州 乔海权_429512***杭州     2022-10-21     401

关键词:

1. 本次基于itop-4412研究下Linux信号量的使用方法。

2. 创建信号量的函数,信号量的头文件在那个路径?编译应用程序的话,头文件有3个路径,内核源码头文件,交叉编译器头文件,ubuntu的头文件,不是很理解为啥交叉编译器也需要头文件,全用内核源码不行吗?书上说内核信号量和用户空间信号量(也叫IPC信号量)有区别的,前者用于内核同步,后者用于用户进程间同步。下面的函数是创建或者寻找信号量,在IPC信号量是一组的,内核信号量是一个的。

sem_id = semget((key_t)1234, 1, 0666 | IPC_CREAT);

3. 找到semget的函数原型。先找到了头文件\iTop4412_Kernel_3.0_20140521\iTop4412_Kernel_3.0\include\linux\sem.h,再找到C文件\iTop4412_Kernel_3.0_20140521\iTop4412_Kernel_3.0\kernel\semaphore.c,不过奇怪的地方在于本次的例程用到的头文件是,不是linux下的目录,我猜应该是交叉编译器的路径。

#include <sys/sem.h>

4. 进入\iTop4412_Kernel_3.0_20140521\iTop4412_Kernel_3.0\kernel\semaphore.c,发现里面的函数是,难道就是上面说的内核信号量的函数,和IPC信号量名称也不一样,翻翻书看下,果然看了一下,linux提供两种信号量,内核信号量,由内核控制路径使用,System V IPC信号量,由用户态进程使用。下面的就是内核部分的信号量。

int down_trylock(struct semaphore *sem)

    unsigned long flags;
    int count;

    spin_lock_irqsave(&sem->lock, flags);
    count = sem->count - 1;
    if (likely(count >= 0))
        sem->count = count;
    spin_unlock_irqrestore(&sem->lock, flags);

    return (count < 0);


void up(struct semaphore *sem)

    unsigned long flags;

    spin_lock_irqsave(&sem->lock, flags);
    if (likely(list_empty(&sem->wait_list)))
        sem->count++;
    else
        __up(sem);
    spin_unlock_irqrestore(&sem->lock, flags);

 

开创学习的四核时代-itop-4412开发板开源硬件平台

iTOP-4412开发板如今比較热门的开发板。笔者最近入了一套。也推荐给初学ARM的朋友学习,4412开发板搭载三星Exynos四核处理器,配备1GB内存,4GB固态硬盘EMMC存储,兼具高速读取与超大容量,独家配备三星S5M8767电源管理。接口丰富... 查看详情

itop-4412开发板-串口转接小板的使用文档

本文档介绍如何使用迅为iTOP-4412精英版如何使用串口转接板,串口小板如下所示。和串口转接板模块相关的资料如下:“iTOP-4412-Android-串口测试文档(升级版)_V2.X.zip”“iTOP-4412-QtE-串口uart测试程序_v1.X.rar”“iTOP-4412-驱动-关闭... 查看详情

嵌入式开发板学习新手在itop4412开发板无界面linux操作系统使用can模块遇到问题,求解决方法?

最近想使用迅为的iTOP4412精英版开发板做关于CAN总线相关的程序设计。遇到的问题是,将购买的CAN模块连接到开发板上时,在系统界面使用ifconfig-a命令,没有发现can的信息。看起来系统没有识别这个模块。想请教下大神们,这个... 查看详情

itop-4412开发板-qte4.7-uvc摄像头使用例程

本文档主要介绍迅为iTOP-4412开发板QtE4.7系统下UVC摄像头的使用过程。工程文件是:“iTOP-4412-QtE4.7-UVC_V1.0”(注意版本更新)。用户可以直接运行工程文件中的“qtcamera”可执行文件。具体过程如下。1.1 运行测试通过U盘、tftp&... 查看详情

讯为itop4412嵌入式开发板学习之-------前言

... 服务,熟练使用 Shell,了解网络配置。2、服务器开发:需要学习 Linux 程序设计和 Linux 网络编程。3、嵌入式 Linux&n 查看详情

分享itop4412开发板-bluetooth移植文档

【分享】iTOP4412开发板-Bluetooth移植文档      最近须要把Bluetooth移植到iTOP-4412 开发平台。查阅了相关资料,经过一段时间的研究、调试,最终成功的将蓝牙功能移植到了开发板上面。这里笔者记录移植过... 查看详情

itop-4412开发板-嵌入式平台开机测试

iTOP-4412平台硬件的连接1.核心板和底板的连接迅为iTOP-4412开发板采用工业级进口板对板连接器,拔插方便稳定可靠,如下图所示。650)this.width=650;"id="aimg_Z9bwE"class="zoom"width="600"src="http://www.eeboard.com/bbs/data/attachment/forum/201606/28/151457eq 查看详情

迅为itop-4412精英版开发板mosquitto(mqtt协议)移植及使用测试

??需要在Linux系统下先交叉编译好mosquitto再移植到开发板中,至于最后PC端使用Linux还是Windows都可以。??注意事先要配置好交叉编译环境目录一、下载依赖包二、交叉编译1.交叉编译libuuid2.交叉编译openssl3.交叉编译mosquitto三、iTOP-441... 查看详情

转载jlinkv9在迅为itop-4412精英板上的应用

...多人买迅为iTop4412精英板,在Android或Linux+Qt跑起来后学习开发调试应用程序或驱动,但在linux内核运行前发生了什么?能进行什么开发工作?并没有完整资料。其实,只要一根百元价位的JLINKv9,就可以搭建一个实用的boot阶段程序... 查看详情

嵌入式开发板itop-4412开发板初学arm开发板首选!提供技术支持!

摘要:ARM开发板迅为三星Exynos嵌入式开发平台超强GPS模块iTOP-Exynos4412开发板采用Exynos4412的主芯片,具有更高的主频和更丰富外设,配置2GB双通道DDR3的内存及16GB存储,具有稳定性强、可靠性高,能适用于对性能和处理能力有更高... 查看详情

分享几个4412开发板新录制的视频,不是vip也能看

如果能点个赞就更好啦iTOP4412开发板介绍https://www.bilibili.com/video/av74453392iTOP4412开发板系统编程前言https://www.bilibili.com/video/av75754003iTOP4412-fastboot烧写Androidhttps://www.bilibili.com/video/av76115803iTOP4412-安装虚拟机软件https://www.bilibili.com/vide... 查看详情

itop-4412开发板10.1寸[金属框]屏幕硬件修改支持排线和hdmi

注:iTOP-4412开发板(精英版和全能版)同时也有10.1寸屏幕,如果金属框10.1寸屏幕(如下图所示)转接板使用的默认焊接方式则默认只能使用HDMI线,不能支持FPC排线。本文档介绍,如何修改转接板背面的配置电阻,在iTOP-4412底板... 查看详情

使用itop4412开发板单独编译驱动模块

...现方法,我们还是以蜂鸣器的驱动为例来讲解。1)因为开发板带的内核默认是把蜂鸣器直接编译到内核里面了,所以我们要重复前边的步骤“1”到步骤“19”,完成这些步骤以后,把生成的镜像“zImage”烧写... 查看详情

转载技术分享jlinkv9在迅为itop-4412精英板上的应用

...多人买迅为iTop4412精英板,在Android或Linux+Qt跑起来后学习开发调试应用程序或驱动,但在linux内核运行前发生了什么?能进行什么开发工作?并没有完整资料。其实,只要一根百元价位的JLINKv9,就可以搭建一个实用的boot阶段程序... 查看详情

itop-4412开发板运行linuxqt系统,怎么挂接u盘

参考技术A如果是iTop-4412的android4.0系统,可以这样来实现:linuxQT系统下挂载u盘,首先用命令mknod/dev/sda1b81创建U盘的设备节点,然后使用命令mount/dev/sda1/mnt/udisk/挂载u盘即可。 查看详情

itop-4412开发板网盘资料介绍

iTOP-4412开发板网盘视频资料内容如下:01-烧写、编译以及基础知识视频02-嵌入式Linux视频03-iTOP-4412开发板硬件设计指导视频04-Android应用程序视频05-Android应用教程201506-裸机程序实验文档以及工具文件07-Linux-x86-Qt5.3.2以及QtE4.7.1应用... 查看详情

基于itop-4412开发板(精英版)恢复出厂设置

...ork准备TF卡一张、读卡器一个一、iTop-4412硬件设置1、确定开发板类型Exynos4412的存储器有两种封装形式POP(左)和SCP(右),本例程的开发板是精 查看详情

itop4412开发板android4.4源码编译分享

...目录网盘下载Android4.4.4对应的源码。在网盘“iTOP-4412开发板系统源码及 查看详情