awtk/docs/porting_common.md

70 lines
2.0 KiB
Markdown
Raw Normal View History

2018-05-27 11:52:44 +08:00
## 嵌入式平台移植注意事项
### 一、几个常用的宏
* 1.WITH\_BITMAP\_FONT 如果需要使用位图字体请定义该宏。
* 2.WITH\_STB\_FONT 如果需要使用truetype字体请定义该宏。
* 3.WITH\_STB\_IMAGE 如果需要使用png/jpg图片请定义该宏。由于解码图片需要较大内存所以在内存较
2018-05-27 12:27:57 +08:00
少的情况下我们直接把png/jpg转换成位图数据当作常量编译到代码中此时不需要定义该宏。
2018-05-27 11:52:44 +08:00
2018-05-27 12:27:57 +08:00
* 4.WITH\_FS\_RES 如果支持从文件系统中加载资源请定义该宏。需要有兼容POSIX标准的FS接口如果没有则需要自己实现src/base/fs.c中的函数。
2018-05-27 11:52:44 +08:00
2018-05-29 17:41:09 +08:00
* 5.USE\_GUI\_MAIN 嵌入式系统有自己的main函数时请定义该宏。
2018-05-27 11:52:44 +08:00
2018-05-30 08:47:24 +08:00
* 6.WITH\_WCSXXX 如果出现wcsxxx之类的函数没有定义时请定义该宏。
2018-05-31 17:48:18 +08:00
* 7.HAS\_FAST\_MEMCPY 如果有高效的memcpy函数请定义该宏。
2018-05-27 11:52:44 +08:00
### 二、include路径
* 1.基本路径
```
awtk
awtk\src
awtk\3rd
```
* 2.picasso的路径(如果启用)
```
awtk\3rd\picasso\src
awtk\3rd\picasso\src\gfx
awtk\3rd\picasso\include
awtk\3rd\picasso\src\include
awtk\3rd\picasso\build
```
* 3.agg的路径(如果启用)
```
2018-05-27 12:27:57 +08:00
3rd/agg/include
2018-05-27 11:52:44 +08:00
```
2018-05-27 12:27:57 +08:00
### 三、要加入到工程的文件
* src/base 全部加入。
* src/font 全部加入。
* src/main\_loop/main\_loop\_simple.*
* src/window\_animators/ 如果需要窗口动画而且支持framebuffer加入window\_animator\_fb.c否则加入window\_animator\_null.c。
* src/image_loader 全部加入。
* src/platforms/raw/mutex.c 加入本文件或者自己实现mutex。
* src/ui\_loader 全部加入。
* src/window_animators 全部加入。
* src/blend 使用framebuffer时全部加入。
* src/lcd 根据LCD类型选择相应的文件。
* src/tk.c
* src/tk.h
* src/vgcanvas/vgcanvas\_null.c 如果不使用vgcanvas请加入本文件。
* src/xml 可选。
* 3rd/picasso 可选。
* 3rd/agg 可选。
2018-05-27 11:52:44 +08:00
### 四、其它
2018-05-27 12:27:57 +08:00
> 使用keil编译时请在C/C++ -> Misc Controls中加上**--gnu**标志。
2018-05-27 11:52:44 +08:00