• 上课班制:

    随到随学

  • 授课时间:

    周末班,晚上班,白天班

  • 授课对象:

    想提升技能者

  • 网报价格:¥电询    课程原价:¥电询
  • 咨询热线:400-998-6158
  • 授课地址:长沙天心区
  • 课程详情

  • 机构简介
  • 地图信息
  • 预约试听

课程关键词:长沙宁乡县嵌入式培训

学员将了解到qt坐标系统、绘画系统的概念,同时会掌握qt进行图形绘制的编写方法;通过下午课程的学习,学员将了解到文件、流的基本概念,同时会掌握qt访问文件的编写方法。
2.1 qt坐标系统
2.2 访问屏幕信息
2.3 绘画系统
2.3.1 图形的绘画
2.3.2 图形填充
2.3.3 创建绘画设备
2.3.4 写入一个图片文件
2.3.5 绘画样式
2.4 图形视图框架
2.4.1 图形视图框架的结构
2.4.2 图形视图坐标系统
2.5 实例:基本绘画操作
2.6 实例:符合图形绘画
3.1 文件系统介绍
3.2 文件的访问
3.2.1 抽象文件引擎类
3.2.2 读写文件界面
3.2.3 获得文件信息
3.2.4 监视一个文件与目录
3.3 文本流与二进制数据流
3.4 文件与设备
3.4.1 访问输入/输出设备基础界面
3.4.2 访问目录结构内容
3.4.3 设备与文件图片读界面
3.4.4 设备与文件图片写界面
3.5 实例:一个简单的文本浏览的例子
3.6 实例:在指定文件系统中寻找一个文件

SWP和SWPB是ARM指令集中对存储单元的原子操作,即对存储单元的一次读和一次不可被分割。SWP和SWPB分别完成存储器和寄存器之间 一个字(32bit)和一个字节(8bit)的数据交换。

SWP指令主要是完成ARM体系架构处理器的同步操作,在Linux操作系统中实现信号量的操作。但是此指令在ARMv6架构后就没有采用了,而是通过扩展的LDREX和STREX实现。本片文章主要介绍SWP的功能,对于LDREX和STREX以后再介绍。

SWP的指令格式如下:
SWP {<cond>}{B} Rd, Rm, [Rn]
其中Rd 是目的寄存器,从存储器中读到的值存放于此寄存器中
Rm寄存器是操作数,会将此寄存器中的值存放于存储单元中
[Rn] 是寄存器间接寻址,Rn保存的是某个存储单元的地址

假设[Rn]中存放的是信号量,当某程序要修改信号量时,则会调用SWP指令完成对信号量的操作,即对这个存储单元的读和写是一个原子操作,不会被打断,命令的执行过程

当多个程序要访问他们共享的资源时,我们*须要做好同步机制以增加数据的安全。通常,共享的资源可以是一段共享内存或者是外部设备,访问这些资源的可以使CPU、进程或者是线程。为了完成同步机制,会采用一个原子变量来保存资源的状态。例如下图所示,用一个二元信号量(0或者1)来实现共享资源的同步,当进程A 和 进程B都要访问信号量Semaphore。

对于A进程, 先访问到信号量Semaphore发现状态可用,应该马上会修改Semaphore的状态,告诉其他进程此资源正在被使用。但是可能由于时间片恰好用完,系统调度到进程B。 进程B访问到信号量时发现状态也可用,于是 修改Semaphore告诉其他进程此资源正在被使用,等到系统再次调度到进程A时,进程A却不知道进程B已修改了Semaphore并且使用了公共资源,于是接着上次未完成的任务, 开始修改Semaphore并且开始使用公共资源。因此,遇到这种情况的话,信号量形同虚设并没有起到同步的作用。所以如果使用SWP指令,通过上面的介绍,SWP指令时完成对存储单元的一次读和写的原子操作,就可以避免这样的情况。


更多培训课程,学习资讯,课程优惠等学校信息,请进入 长沙芙蓉区嵌入式培训长沙天心区嵌入式培训 网站详细了解,免费咨询电话:400-998-6158

预约试听
  • 姓名: *
  • 性别:
  • 手机号码: *
  • QQ:
  • 微信:
  • 其它说明:
  • 验证码: *  看不清,请点击刷新
相关课程