1 环境部署
1.0 查看CPU信息
lscpu
| 序号 |
属性 |
描述 |
| 1 |
架构 |
x86_64 |
| 2 |
CPU 运行模式 |
32-bit, 64-bit |
| 3 |
字节序 |
Little Endian |
| 4 |
CPU |
4 |
| 5 |
在线 CPU 列表 |
0-3 |
| 6 |
每个核的线程数 |
1 |
| 7 |
每个座的核数 |
4 |
| 8 |
座 |
1 |
| 9 |
NUMA 节点 |
1 |
| 10 |
厂商 ID |
GenuineIntel |
| 11 |
CPU 系列 |
6 |
| 13 |
型号 |
158 |
| 14 |
型号名称 |
Intel(R) Core(TM) i5-7400 CPU @ 3.00GHz |
| 15 |
步进 |
9 |
| 16 |
CPU MHz |
2748.422 |
| 17 |
CPU 最大 MHz |
3500.0000 |
| 18 |
CPU 最小 MHz |
800.0000 |
| 19 |
BogoMIPS |
6000.00 |
| 20 |
虚拟化 |
VT-x |
| 21 |
L1d 缓存 |
32K |
| 22 |
L1i 缓存 |
32K |
| 23 |
L2 缓存 |
256K |
| 24 |
L3 缓存 |
6144K |
| 25 |
NUMA 节点0 CPU |
0-3 |
1.2 Wine环境
# 添加i386架构
sudo dpkg --add-architecture i386
# 安装64位wine
sudo apt install wine64
# 添加wineHQ签名密钥
wget -qO- https://dl.winehq.org/wine-builds/Release.key | sudo apt-key add -
# 添加存储库
sudo apt-add-repository 'deb http://dl.winehq.org/wine-builds/ubuntu/ artful main'
2 “安装”MDK
(1)将Win下安装的MDK文件,打包压缩,传送到Ubuntn;
(2)安装Pack,将MDK文件夹Pack中的.Download下载的pack文件离线安装;
(3)Ubuntu显示隐藏文件Ctrl+H;
(4)μVision⇒ Project⇒ Manage⇒ Pack Installer⇒ File⇒ Import⇒ Keil.STM32F1xx_DFP.1.0.5.pdsc;
(5)重启μVision即可新建工程;
3 问题
3.1 不能编译
--- Error: failed to execute '\home\xdq\install\MD\Kmdk514\core\ARM\ARMCC\Bin\ArmCC'
没有指定ARMCC
依次打开:
Project-->Manage-->Compoments,Books-->Folders/Extensions
图3.1 设置路径
3.2 编译错误
【Ubuntu源文件修改】
error You are building kernel with non-retpoline compiler, please update your compiler
make -C /lib/modules/4.15.0-50-generic/build M=/home/xdq/install/Drivers/CH341SER_LINUX
make[1]: 进入目录“/usr/src/linux-headers-4.15.0-50-generic”
arch/x86/Makefile:252: *** 分隔符缺失 (你大概想用 TAB,而不是八个空格)。 停止。
make[1]: 离开目录“/usr/src/linux-headers-4.15.0-50-generic”
Makefile:5: recipe for target 'default' failed
make: *** [default] Error 2
【进入】
/usr/src/$(uname -r)/arch/x86
【打补丁】
diff --git a/arch/x86/Makefile b/arch/x86/Makefile
index f5d7f41..75ef499 100644
--- a/arch/x86/Makefile
+++ b/arch/x86/Makefile
@@ -220,9 +220,6 @@ KBUILD_CFLAGS += -fno-asynchronous-unwind-tables
# Avoid indirect branches in kernel to deal with Spectre
ifdef CONFIG_RETPOLINE
-ifeq ($(RETPOLINE_CFLAGS),)
- $(error You are building kernel with non-retpoline compiler, please update your compiler.)
-endif
KBUILD_CFLAGS += $(RETPOLINE_CFLAGS)
endif
@@ -307,6 +304,13 @@ ifndef CC_HAVE_ASM_GOTO
@echo Compiler lacks asm-goto support.
@exit 1
endif
+ifdef CONFIG_RETPOLINE
+ifeq ($(RETPOLINE_CFLAGS),)
+ @echo "You are building kernel with non-retpoline compiler." >&2
+ @echo "Please update your compiler." >&2
+ @false
+endif
+endif
【下载文件修改】
make -C /lib/modules/4.15.0-50-generic/build M=/home/xdq/install/Drivers/CH341SER_LINUX
make[1]: 进入目录“/usr/src/linux-headers-4.15.0-50-generic”
CC [M] /home/xdq/install/Drivers/CH341SER_LINUX/ch34x.o
/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.c: 在函数‘ch34x_close’中:
/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.c:591:2: 错误:未知的类型名‘wait_queue_t’
wait_queue_t wait;
^~~~~~~~~~~~
/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.c:591:15: 警告:未使用的变量‘wait’ [-Wunused-variable]
wait_queue_t wait;
^~~~
/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.c:590:7: 警告:未使用的变量‘timeout’ [-Wunused-variable]
long timeout;
^~~~~~~
/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.c:589:6: 警告:未使用的变量‘bps’ [-Wunused-variable]
int bps;
^~~
/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.c: 在函数‘wait_modem_info’中:
/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.c:797:7: 错误:隐式声明函数‘signal_pending’ [-Werror=implicit-function-declaration]
if( signal_pending(current) )
^~~~~~~~~~~~~~
cc1:有些警告被当作是错误
scripts/Makefile.build:337: recipe for target '/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.o' failed
make[2]: *** [/home/xdq/install/Drivers/CH341SER_LINUX/ch34x.o] Error 1
Makefile:1552: recipe for target '_module_/home/xdq/install/Drivers/CH341SER_LINUX' failed
make[1]: *** [_module_/home/xdq/install/Drivers/CH341SER_LINUX] Error 2
make[1]: 离开目录“/usr/src/linux-headers-4.15.0-50-generic”
Makefile:5: recipe for target 'default' failed
make: *** [default] Error 2
注释或删除:wait_queue_t,long timeout,int bps
添加头文件: #include <linux/sched/signal.h>
[参考文献]
1 https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git/commit/?id=25896d073d8a0403b07e6dec56f58e6c33678207
2 https://blog.csdn.net/nuttiny/article/details/79842900
3 https://blog.csdn.net/jazzsoldier/article/details/70170466
4 http://www.wch.cn/download/CH341SER_LINUX_ZIP.html
来源:https://www.cnblogs.com/xdq101/p/10897789.html |