Mbed TLS程序开发指南
来自SylixOS-wiki
(版本间的差异)
Jiaojinxing (讨论 | 贡献) |
Jiaojinxing (讨论 | 贡献) (→增加环境变量) |
||
(未显示1个用户的7个中间版本) | |||
第11行: | 第11行: | ||
tar zxvf mbedtls-1.3.10-gpl.tgz | tar zxvf mbedtls-1.3.10-gpl.tgz | ||
− | :*4. 修改 | + | :*4. 修改 mbedtls 目录名,避免版本升级带来不必要的麻烦: |
mv mbedtls-1.3.10 mbedtls | mv mbedtls-1.3.10 mbedtls | ||
第17行: | 第17行: | ||
cd mbedtls | cd mbedtls | ||
− | == | + | ==增加环境变量== |
− | :*1. | + | :*1. 设置编译器环境变量: |
::'''开源版 ARM 工具链环境变量''' | ::'''开源版 ARM 工具链环境变量''' | ||
export CC=arm-none-eabi-gcc | export CC=arm-none-eabi-gcc | ||
第28行: | 第28行: | ||
export AR=arm-sylixos-eabi-ar | export AR=arm-sylixos-eabi-ar | ||
+ | :*2. 设置 SylixOS Base 工程路径环境变量(编译好的 SylixOS Base 工程路径根据实际情况设置): | ||
export SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base | export SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base | ||
− | export CFLAGS="-mcpu=arm920t -fPIC -DSYLIXOS | + | |
− | + | :*3. 设置链接与编译标志环境变量 | |
+ | export CFLAGS="-mcpu=arm920t -fPIC -DSYLIXOS -DSYLIXOS_LIB -fsigned-char -fno-short-enums -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include \ | ||
-I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include/inet -I$SYLIXOS_BASE_PATH/libcextern/libcextern/include" | -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include/inet -I$SYLIXOS_BASE_PATH/libcextern/libcextern/include" | ||
− | export LDFLAGS="-mcpu=arm920t -fPIC -shared -L$SYLIXOS_BASE_PATH/libsylixos/Debug -L$SYLIXOS_BASE_PATH/libcextern/Debug -lcextern -lvpmpdm -lm -lgcc" | + | export LDFLAGS="-mcpu=arm920t -fPIC -shared -L$SYLIXOS_BASE_PATH/libsylixos/Debug -L$SYLIXOS_BASE_PATH/libcextern/Debug -nostdlib -lcextern -lvpmpdm -lm -lgcc" |
export SYS_LDFLAGS=$LDFLAGS | export SYS_LDFLAGS=$LDFLAGS | ||
+ | export SHARED=1 | ||
+ | |||
+ | ==修改 Makefile== | ||
+ | :由于 library 目录下的 Makefile 有 BUG,导致生成的动态库不能用,需要修改 library/Makefile 文件: | ||
+ | |||
+ | libmbedtls.${DLEXT}: $(OBJS) | ||
+ | echo " LD $@" | ||
+ | $(CC) -shared -Wl,-soname,$(SONAME) -o $@ $(OBJS) ${LDFLAGS} (将 ${LDFLAGS} 放到最后) | ||
+ | |||
+ | libmbedtls.dylib: $(OBJS) | ||
+ | echo " LD $@" | ||
+ | $(CC) -dynamiclib -o $@ $(OBJS) ${LDFLAGS} (将 ${LDFLAGS} 放到最后) | ||
− | == | + | ==编译和安装 mbedtls== |
make | make | ||
sudo make install | sudo make install |
2015年5月19日 (二) 10:15的最后版本
目录 |
[编辑] 下载 mbedtls
- 在 linux 环境或 MinGW 下操作。
- 1. 进入 sylixos 工作空间:
cd /home/user/sylixos_workspace
- 2. 下载 mbedtls
- mbedtls 的主页为 http://mbed.org/technology/mbed-tls/
- 3. 解压 mbedtls
tar zxvf mbedtls-1.3.10-gpl.tgz
- 4. 修改 mbedtls 目录名,避免版本升级带来不必要的麻烦:
mv mbedtls-1.3.10 mbedtls
- 5. 进入 mbedtls 目录:
cd mbedtls
[编辑] 增加环境变量
- 1. 设置编译器环境变量:
- 开源版 ARM 工具链环境变量
export CC=arm-none-eabi-gcc export AR=arm-none-eabi-ar
- 商业版 ARM 工具链环境变量
export CC=arm-sylixos-eabi-gcc export AR=arm-sylixos-eabi-ar
- 2. 设置 SylixOS Base 工程路径环境变量(编译好的 SylixOS Base 工程路径根据实际情况设置):
export SYLIXOS_BASE_PATH=/home/user/sylixos_workspace/sylixos-base
- 3. 设置链接与编译标志环境变量
export CFLAGS="-mcpu=arm920t -fPIC -DSYLIXOS -DSYLIXOS_LIB -fsigned-char -fno-short-enums -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include \ -I$SYLIXOS_BASE_PATH/libsylixos/SylixOS/include/inet -I$SYLIXOS_BASE_PATH/libcextern/libcextern/include" export LDFLAGS="-mcpu=arm920t -fPIC -shared -L$SYLIXOS_BASE_PATH/libsylixos/Debug -L$SYLIXOS_BASE_PATH/libcextern/Debug -nostdlib -lcextern -lvpmpdm -lm -lgcc" export SYS_LDFLAGS=$LDFLAGS export SHARED=1
[编辑] 修改 Makefile
- 由于 library 目录下的 Makefile 有 BUG,导致生成的动态库不能用,需要修改 library/Makefile 文件:
libmbedtls.${DLEXT}: $(OBJS) echo " LD $@" $(CC) -shared -Wl,-soname,$(SONAME) -o $@ $(OBJS) ${LDFLAGS} (将 ${LDFLAGS} 放到最后) libmbedtls.dylib: $(OBJS) echo " LD $@" $(CC) -dynamiclib -o $@ $(OBJS) ${LDFLAGS} (将 ${LDFLAGS} 放到最后)
[编辑] 编译和安装 mbedtls
make sudo make install