lobster 陷阱

AI助手已提取文章相关产品:

都知道 lobster 指令是用于编译整个文件夹,但是在这里大家往往会陷入一个误区 —— 直接编译所修改的某个 .cpp 或者 .c 文件所在的驱动文件夹,其实不然,下面以具体实例来说明:

修改驱动程序 Saa7111a.cpp 是 DISPLAY 的一部分,如果只编译 DISPLAY 是不行的,实际上编译 DISPLAY 可能无关紧要,真正需要编译的是 MBX 驱动---------------------------------------如何得到MBX?具体步骤如下:

1)例如你修改了 videoPort.cpp,那么可以看到 videoPort.cpp 所在的Source 文件中有 TARGETNAME=VIDEOPORT;

2)需要在Source Insight 中,查找VIDEOPORT(或者可以直接查找 videoport.lib)被包含到哪个 source 中;

3)可以看到有两个驱动的 Source 包含 videoport.lib,其中路径为

Sources(c:\wince600\platform\tt4x0bd\src\drivers\mbx\buildexe) 的Source 文件中的TARGETNAME 有 TARGETNAME=ddi_powervr,该 Source 是在MAX 驱动下;另一个路径为

Sources(c:\wince600\platform\tt4x0bd\src\drivers\display\buildexe)

该文件中有 TARGETNAME=ATLAS_LCDX;

4)此时,在Platform.bib 中有(也可通过搜索来找到):

IFBSP_DISPLAY_ATLAS_ONCHIP_DIRECTX

ddi.dll $(_FLATRELEASEDIR)\atlas_lcdx.dll NK SHK

ENDIF

IFBSP_SUPPORT_MBX

ddi.dll $(_FLATRELEASEDIR)\ddi_powervr.dll NK SHK

#include"$(_TARGETPLATROOT)\FILES\powervr.bib"

ENDIF

5)到此就得确认 BSP_SUPPORT_MBX 和 BSP_DISPLAY_ATLAS_ONCHIP_DIRECTX哪个开启;

6)易得:

SETBSP_SUPPORT_MBX=1

IF"%BSP_SUPPORT_MBX%"=="" (

SET BSP_DISPLAY_ATLAS_ONCHIP_DIRECTX =1

)

IF"%BSP_SUPPORT_MBX%"=="1" (

SET BSP_DISPLAY_ATLAS_ONCHIP_DIRECTX=

SET BSP_APPLY_MSQFE_09M02=1

)

从中就可发现,BSP_SUPPORT_MBX =1,而 BSP_DISPLAY_ATLAS_ONCHIP_DIRECTX反而未定义;

7)到这里,你就可以发现你所编译的驱动程序真正用到的反而是 MBX,而它的直属驱动 DISPLAY 反而没用到;

得出结论:修改了某一个驱动程序,需要编译的不一定是他的直属驱动!!!!

直观的看,就是用 lobster 编译,编译之后,可以看到最终修改了哪些 dll 文件,可以发现,如果只是单纯的编译 display 是没有 dll 驱动文件修改的!!


您可能感兴趣的与本文相关内容

在VASP环境中安装和配置Lobster工具用于分析化学键信息,需要按照以下步骤进行操作: ### 安装Lobster 1. **下载Lobster** 从[Lobster的官方网站](https://www.cohp.de/)下载最新版本的Lobster。通常会提供一个压缩包文件(如`Lobster_2.2.1.tar.gz`)。 2. **解压文件** 将下载的压缩包文件解压到目标目录中: ```bash tar -xvzf Lobster_2.2.1.tar.gz -C /path/to/install/ ``` 3. **设置环境变量** 将Lobster可执行文件路径添加到系统的`PATH`环境变量中。例如,在`~/.bashrc`或`~/.bash_profile`中添加: ```bash export PATH=/path/to/install/Lobster_2.2.1:$PATH ``` 然后运行: ```bash source ~/.bashrc ``` 4. **验证安装** 检查是否成功安装Lobster: ```bash lobster --help ``` 如果输出帮助信息,则说明安装成功。 ### 配置VASP与Lobster的连接 1. **生成WAVECAR和CHGCAR文件** 在使用Lobster之前,需要先完成VASP计算并生成`WAVECAR`和`CHGCAR`文件。这些文件包含电子结构信息,是Lobster输入数据的一部分。 2. **准备POSCAR和INCAR文件** 确保`POSCAR`文件描述了正确的晶体结构,并且`INCAR`文件中设置了适当的参数以生成所需的波函数数据。建议包含以下参数: ``` ICHARG = 0 LORBIT = 11 LWAVE = .TRUE. LCHARG = .TRUE. ``` 3. **运行VASP** 执行标准的自洽场(SCF)计算以生成`WAVECAR`和`CHGCAR`文件。 4. **生成Lobster输入文件** 创建一个包含原子对信息的`lobsterin`文件,例如: ``` basisSet O 2s 2p H 1s cohpbasis O 2s 2p H 1s saveProjectionToFile runLCAO ``` 此文件定义了基组和分析选项。 5. **运行Lobster** 使用以下命令运行Lobster: ```bash lobster ``` 它将读取`lobsterin`、`POSCAR`、`WAVECAR`和`CHGCAR`文件,并生成COHP和其他化学键分析结果。 6. **分析输出文件** Lobster将生成多个输出文件,包括: - `COHPCAR.lobster`:包含COHP数据。 - `ICOHPLIST.lobster`:列出所有原子对的积分COHP值。 - `PROCAR.lobster`:投影的能带结构信息。 可以使用可视化工具(如VESTA或Origin)进一步处理这些文件。 ### 示例代码 以下是一个简单的Python脚本示例,用于解析`COHPCAR.lobster`文件中的数据: ```python def parse_cohp(filename): with open(filename, 'r') as f: lines = f.readlines() cohp_data = [] for line in lines: if not line.startswith('#'): data = line.strip().split() if len(data) > 0: cohp_data.append([float(x) for x in data]) return cohp_data # 解析COHP数据 cohps = parse_cohp('COHPCAR.lobster') for entry in cohps[:5]: # 显示前5行数据 print(entry) ``` ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值