支付宝硬件(HSC32I1)方案固件移植说明V1.1
📎 原始文档:https://www.kdocs.cn/l/ce8u81ApaxKv 支付宝硬件(HSC32I1)方案固件移植说明
- 文件说明: \sdk\apps\common\pay\alipay -----平头哥sdk文件
\apps\common\pay\alipay\soc\se\JL\vendor_product.c ------平头哥驱动文件
\apps\common\pay\alipay\soc\se\JL\vendor_cache.c ------中间缓存文件
\sdk\AC701N.cbp ------工程文件
\sdk\cpu\br28\liba -------平头哥库文件
\apps\watch\ui\lcd\STYLE_WATCH_NEW\ui_action_qrcode.c ------UI显示
\apps\watch\smartbox\bt_manage\bt_trans_data\le_smartbox_module.c ----ble逻辑文件 - 移植过程 本文档根据V2.0.0版本打patch进行移植,其他版本可根据具体情况参考。
1.工程文件移植与修改 code\sdk\AC701N.cbp
搜索下alipay 包含.a库文件
包含.h 和.c文件
- \sdk\include_lib\system\event.h

对ble接收到的数据进行事件定义和处理 sdk\apps\watch\task_manager\app_common.c
- \sdk\cpu\br28\liba下的库文件

- sdk\apps\watch\ui\lcd\STYLE_WATCH_NEW\ui_action_qrcode.c 支付宝UI界面进行逻辑控制和ble广播开关


- sdk\apps\watch\task_manager\rtc\alarm_api.c

6.sdk\apps\watch\smartbox\bt_manage\bt_trans_data\le_smartbox_module.h 更新profile

sdk\apps\watch\smartbox\bt_manage\bt_trans_data\le_smartbox_module.c


Ble的读和写回调事件,以TCFG_PAY_ALIPAY_ENABLE进行宏控制





sdk\apps\watch\smartbox\bt_manage\bt_trans_data\le_smartbox_adv.c 广播包处理
7.\sdk\apps\watch\common\task_table.c 对app_core的 task堆栈大小调整为2048
8.\sdk\apps\watch\board\br28\board_701n_demo\board_701n_demo_cfg.h配置文件修改

sdk\apps\watch\board\br28\board_701n_demo\board_701n_demo.c
包含头文件
配置对应的IO口为IIC
在board_init函数进行IIC初始化
9.复制对应alipay驱动和头文件

10.sdk\apps\common\cJSON\cJSON.c 文件中函数定义为弱函数,避免与平头哥库函数冲突。下图为示例,具体需要更新的函数参考patch文件。
11.apps\common\third_party_profile\common\custom_cfg.c 和custom_cfg.h文件,获取SN 码
12 . sdk\apps\watch\log_config\lib_btctrler_config.c 配置
apps/watch/ui/lcd/ui_sys_param_api.c 恢复出厂设置时候清除支付宝绑定信息

apps/common/device/touch_panel/bl6133.c tp驱动,硬件上加MOS电路能够实现tp 与加密IC公用IIC。

同理在加密IC 驱动apps/common/pay/alipay/soc/se/JL/hsc32i1/hs_private.c
的读写hs_i2c_read和hs_i2c_write 函数中,也需要用锁控制进行复用操作。
在board_701n_demo_cfg.h中添加对应宏控。
注意:TCFG_ALIPAY_TP_IO_MUL 宏默认是关闭的,如果需要复用其他IIC 管脚,需要使用MOS 管电路进行控制,防止灌电流到加密IC。参考电路如下,具体电路设计询问杰理硬件同事。