硬汉嵌入式论坛

 找回密码
 立即注册
查看: 6505|回复: 4
收起左侧

[emWin] emwin必须运行在特权模式???

[复制链接]

5

主题

582

回帖

597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
597
发表于 2014-9-22 00:30:24 | 显示全部楼层 |阅读模式
我现在尝试学习用emwin了,把原来的一个例程从无os模式改动到rtx模式下,发现不成功
调试后发现,GUI_Init()  这个函数一开始会操作0xE0002000这个地址,查到这个是FPB调试组件的首个地址,读取这个地址的值在unprivilege模式下立即hardfault,连读取都不行
然后我将这个函数放在rtx初始化前,又hardfault,原来GUI_X.c中的移植文件用到了rtx的系统调用,而此时rtx都还没有初始化

这样的话没办法我只能用privilege模式运行了,结果是可以的。。。。
但是为何GUI_Init()在开始的时候要操作FPB区域呢,这到底是什么道理。。。。我看eric2013大侠的例程文件中也是用的privilege模式,你肯定知道原因啊
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116837
QQ
发表于 2014-9-22 21:57:41 | 显示全部楼层
我一般都是在特权模式下运行代码,非特权模式用的比较少。SEGGER官方的这个库应该是在特权模式下编译的。
回复

使用道具 举报

5

主题

582

回帖

597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
597
 楼主| 发表于 2014-9-28 13:51:35 | 显示全部楼层
mdk474自带的emwin5.24,已经避免了这个问题,这个库可以支持非特权模式

另外完全可以用这个库代替stemwin,而且其自带的驱动也比stemwin完整,比如我用的单色屏驱动s1d13700,stemwin就没有

不过stemwin执行速度应该比mdk那个快,我使用helloworld1这个例程,统计发现大约快10%左右,看来优化做的比较好

当然,比较遗憾的是两者都不带触摸屏驱动,尽管emwin手册显示是有这些驱动的,但是库里都没有编译进去
回复

使用道具 举报

5

主题

582

回帖

597

积分

版主

Rank: 7Rank: 7Rank: 7

积分
597
 楼主| 发表于 2014-10-6 09:58:10 | 显示全部楼层

回 myxiaonia 的帖子

myxiaonia:mdk474自带的emwin5.24,已经避免了这个问题,这个库可以支持非特权模式

另外完全可以用这个库代替stemwin,而且其自带的驱动也比stemwin完整,比如我用的单色屏驱动s1d13700,stemwin就没有

不过stemwin执行速度应该比mdk那个快,我使用helloworld1这个例程,统计发现大约快10% .. (2014-09-28 13:51) 
这几天一直都在鼓捣emwin。。。现在可以确认为何stemwin会比keil的emwin快递原因,原来keil的emwin默认就是支持os操作的,它的库文件直接就包含多任务代码,这部分代码会产生时间上的开销,这可以解释为何执行速度上会有10%左右的差距
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116837
QQ
发表于 2014-10-7 09:45:04 | 显示全部楼层

回 myxiaonia 的帖子

myxiaonia:这几天一直都在鼓捣emwin。。。现在可以确认为何stemwin会比keil的emwin快递原因,原来keil的emwin默认就是支持os操作的,它的库文件直接就包含多任务代码,这部分代码会产生时间上的开销,这可以解释为何执行速度上会有10%左右的差距 (2014-10-06 09:58) 
谢谢告知
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-7-7 22:35 , Processed in 0.322717 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表