KDocs 研发资料库
  • 手表穿戴技术应用文档入口汇总
  • JL707N穿戴客述问题FAQ
  • 彩屏仓 硬件开发指南 与 量产作业流程规范
  • 彩屏仓 AC98N和JL701烧录升级注意事项
  • JL707 硬件开发资料
  • JL707 手表硬件设计注意事项 总结
  • 穿戴生产烧录OTA和key文件添加使用说明
  • JL707N-入门到进阶开发指导文档
  • 彩屏仓982相关
  • 彩屏仓耳机介绍
  • 杰理701_707双屏demo介绍
  • 707电子吧唧开发资料
  • GPIO相关
  • UART串口相关
  • SPI相关
  • nandflash相关
  • norflash相关
  • IIC相关
  • PWM相关
  • SD卡相关
  • 定时器TIMER
  • 文件系统接口设计说明文档
  • 音视频录像开发流程
  • rdec编码器
  • 穿戴功耗数据标准
  • 手表蓝牙开发文档
  • 701蓝牙PAN联网demo
  • BLE开发使用说明
  • 701手表2.0.0版本SDK EQ在线调试和离线调试方法 V1.1
  • JL707 手表喇叭输出声音大小评估方法 V1.0
  • JL707 手表音频EQ调试方法 V1.0
  • AC707N 手表通话写卡 软件配置方法
  • 录音功能
  • 701手表2.X.X系列SDK调试EQ配置方法及音频调试技巧V1.1
  • 701手表104版本SDK EQ在线调试和离线调试方法 V1.1
  • mic2dac示例
  • P11 SensorHub相关
  • 手表升级操作文档
  • AC707NGPU
  • DBI模块介绍
  • GPU模块介绍
  • 701N屏幕驱动配置说明
  • 701N_UI编辑工具用户手册
  • 支付宝资料
  • 支付宝硬件接入资料
  • 支付宝乘车码接入资料
  • CAT1 接入文档
  • 701N_WATCH_CAT1开发说明
  • Findmy功能
  • music模式相关
  • 707电池曲线
  • 707N内置FLASH挂载FAT文件系统251112_v1.2
  • AC707N_本地视频播放demo(AVI-MJPEG-PCM)
  • 光波导屏幕调试
  • 耳机研发和生产流程 指南
  • 707-NandFlash 代码和UI资源独立烧录方案
  • 彩屏仓时间同步补丁
  • 彩屏仓抖音点赞移植
  • 707LVGLv8双屏开发
  • 707N蓝牙互传图传demo
  • AVIPCM数据流接入AIVOICE
  • Flash分区操作demo
  • 手表发射问题
  • 701_707 双备份升级DEMO
  • 707_乘车码刷码失败问题_共性

支付宝硬件(HSC32I1)方案移植说明SE2.0

📎 原始文档:https://www.kdocs.cn/l/cjkA4qS4oky1 支付宝硬件(HSC32I1)方案SE2.0补丁移植说明

  1. 版本说明 SE2.0 是指平头哥芯片的固件为2.0版本,对应的平头哥sdk(不是杰理sdk )也是2.0版本以上。杰理平台已经把平头哥sdk 移植好。根据平头哥官方文档说明SEv1.1和SE2.0 sdk不兼容。
    因此在移植补丁前需要向供应商确认SE芯片固件版本。
    image

移植文件(部分)目录汇总如下:
\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逻辑文件
具体需要移植文件已补丁包为准。
2. 移植过程 本文档根据V2.1.0版本打patch进行移植,其他版本可根据具体情况参考。
SDK V2.1.0默认工程中有移植支付宝硬解(SE v1.1)和软解代码,打SE2.0补丁需要先将原来代码去掉。如客户版本为SDK 2.0.1之前也可参考,流程如下:

  1. 使用compare 对比工程文件 image

2.工程文件移植与修改 code\sdk\AC701N.cbp
image

搜索下alipay 包含.a库文件
image

image

整个文件同理修改,包含.h 和.c文件
3.\sdk\include_lib\system\event.h
image

对ble接收到的数据进行事件定义和处理 sdk\apps\watch\task_manager\app_common.c
image

4.\sdk\cpu\br28\liba下的库文件
image

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

下面alipay_power_on 和 alipay_power_off是对SE IC 电源的配置,需要用到。
image

该文件中有二维码生成函数,确认修改后可以直接替换。

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

image

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

image

image

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

image

sdk\apps\watch\smartbox\bt_manage\bt_trans_data\le_smartbox_adv.c 广播包处理
image

  1. \sdk\apps\watch\common\task_table.c 对app_core的 task堆栈大小调整为2048 注意代码中的宏控区分
    image

9.\sdk\apps\watch\board\br28\board_701n_demo\board_701n_demo_cfg.h配置文件修改
image

image

sdk\apps\watch\board\br28\board_701n_demo\board_701n_demo.c
包含头文件
image

配置对应的IO口为IIC
image

\apps\watch\app_main.c 开机初始化,复位进入低功耗模式
image

10.复制对应alipay驱动和头文件
image

image

11.apps\common\third_party_profile\common\custom_cfg.c 和custom_cfg.h文件,获取SN 码
image

12 . sdk\apps\watch\log_config\lib_btctrler_config.c 配置
image

  1. apps/watch/ui/lcd/ui_sys_param_api.c 恢复出厂设置时候清除支付宝绑定信息 image

  2. 对应宏控接口的区分 注意SE 1.1 和SE2.0 宏控区别,移植SE2.0,SE 1.1 的宏控要关闭或者删除。SE2.0补丁代码部分全部是用TCFG_PAY_ALIPAY_ENABLE 控制来区分的
    image

  3. 对应配置

  4. 电源配置 SE 2.0和SE 1.1区别增加了低功耗接口,IC 能够进入低功耗,硬件设计参考  HYPERLINK "https://www.kdocs.cn/l/clM8VmzGJUOe?openfrom=docs。" https://www.kdocs.cn/l/clM8VmzGJUOe?openfrom=docs。
    IC 正常工作电流1.3mA,进入低功耗模式大约5uA。有两种进入低功耗方式,断电方式和IIC发送进入低功耗模式。在主控IO足够情况下,建议使用电源控制方式,IIC单独一路给加密IC。
    ALIPAY_SE_USE_RESET_PIN宏默认为0 // 置1加密芯片采用reset管脚退出低功耗,置0电源控制上下电进低功耗。
    SE_GPIO_RESET_PIN //SE芯片的reset管脚配置 (ALIPAY_SE_USE_RESET_PIN为1配置有效)
    SE_POWER_GPIO //使用GPIO口给SE芯片电源脚供电,默认用IO_PORTG_01 (ALIPAY_SE_USE_RESET_PIN为0配置有效)

  5. IIC 通道配置 加密ic驱动文件是hs_private.c,其中有匹配到对应iic 通道,默认使用软件iic 。
    image

同时在board_701n_demo.c中配置对应iic 管脚,如下图:
image

  1. IIC 复用 TCFG_ALIPAY_SE_IIC_MUL 来控制加密IC 的iic 复用,在公板已经验证和Tp 复用正常。
    在驱动hs_private.c中 DEFINE_SPINLOCK(se_iic_lock) 定义了一个自旋锁。
    image

在IIC读写函数中中进行加锁和解锁操作实现复用的功能。建议客户在Sensor或者地磁等外设驱动中参考类似写法,如IO 足够可以单独实现iic 。
4. 产品型号确认 在vendor_product.c 中的csi_get_productmodel 和csi_get_companyname函数分别配置型号和公司名称,支付宝接入认证阶段会用到,如下配置:
image

image

对应生成的公司名称是:JL_701 型号名称是:TEST_1 。在初期开发阶段可以使用上面代码,杰理申请的调试产品型号进行开发。后期送测认证阶段,客户需要向支付宝单独申请产品型号和公司名称,送检成功后支付宝会将客户的产品型号在后台设置为正式产品。
同时在生成的二维码中可以看到公司产品型号信息,
image

Log 如下:
image