iap

Google IAP returns short purchase token for verification

匿名 (未验证) 提交于 2019-12-03 01:52:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: I have implemented server-side verification Google IAP purchase tokens. My mobile app send me this token as get it from Google. A regular token looks like minodojglppganfbiedlabed.AO-J1OyNtpooSraUdtKlZ_9gYs0o20ZF_0ryTNACmvaaaG5EwPX0hPruUdGbE3XejoXYCYzJA2xjjAxrDLFhmu9WC4fvTDNL-RDXCWjlHKpzLOigxCr1QhScXR8uXtX8R94iV6MmMHqD but sometimes I get a short token like this korpimulxmslxissnschtkdb When I verify this token via Google Play Developer API: https://www.googleapis.com/androidpublisher/v2/applications/packageName/purchases/subscriptions

STM32系列 CAN 升级/IAP 自定义CAN命令(上位机部分)

匿名 (未验证) 提交于 2019-12-03 00:34:01
1、每款产品可以使用不同的波特率,CAN命令,所有的参数均可以通过配置文件定义 2、升级命令就类似于密码,不知道命令的人是无法更急程序的, 有一定的安全保密性质 3、只要所有的升级程序流程保持一致,就可以是通用版。 4、该升级程序不仅仅可以用于全部STM32系列, 也可以用于其他厂家的MCU。 5、使用的时候按照按钮上面的定义1、2、3、4即可完成产品的程序更新,非常方便 下面是配置文件的内容 配置ini文件所有的数字均用十进制表示,具体内容如下: 名称 注释 主节点 Code = 335721文件标志,不可更改 Version 默认1 Name 名字,仅作为显示 [CmdConfig] 主节点 ID_IAPCmd 发送给App的升级CANID IAPData0 可以设置任意值,和程序匹配即可,类似于程序升级密码 IAPData1 IAPData2 IAPData3 IAPData4 IAPData5 IAPData6 IAPData7 ID_PingCmd 上位机发送Ping命令 ID_AddrCmd 上位机发送起始地址命令 ID_DataCmd 上位机发送数据命令 ID_RunCmd 上位机发送run命令 ID_PingAck 下位机相应Ping命令 ID_AddrAck 下位机相应起始地址命令 ID_DataAck 下位机相应数据命令 ID_RunAck 下位机相应run命令

STM32 IAP在线升级在项目中的应用

让人想犯罪 __ 提交于 2019-11-30 05:48:28
IAP即在线应用编程,平时我们写好的程序都是通过下载器去下载的,但是对于组装好的产品在想更新底层硬件代码是很麻烦的事情,如果在公司情况还没那么糟糕,要是发出去的产品出现bug,你不可能要用户给你下载程序的。IAP这种技术,我们就可以像软件一样,可以实现远程更新了。我们需要做的就是,写FLASH读写接口,程序可以通过串口,网口等进行下发,然后内部调用FLASH写函数,把代码写到对于区域即可。 当然这只是一个大概思路,具体实现还是要注意很多细节的东西。网上也有好多关于这方面的教程,但是能用到项目中的却很少,我写这边文章就是想和大家分享我在项目中实际应用。 想了想,就以我实际开发过程来写吧,这里对新人来说也可以当作一篇教程来学习。 一、FLASH读写接口的实现 这里大家可以参考原子哥的FLASH模拟EEPROM实验来写。因为我们做写的是程序,数据流很大,需要做一些改动,这样写入速度会快很多。 首先我们来了解一下STM32F1的FLASH,如下图,我们要看的只有主存储区,可以看到单片机内部FLASH是按2K一页来区分的,而且对其读写是有如下几点要求: 每次写入必须为2个字节。 写入地址为2的倍数。 写入之前必须是被擦除的(即其值为0xFFFF),也可以理解为,写入数据只能把位写0,不能置1。 写入速度≤24MHz。 擦除方式:页擦除和正片擦除(这个要注意,如果你是做数据保存

什么是STM32的ISP?

本秂侑毒 提交于 2019-11-29 23:26:05
上一篇笔记分享了STM32的串口IAP实例: STM32串口IAP分享 。其中,下载IAP程序时用 ISP 的方式进行下载。这里的ISP又是什么呢? ISP方式下载程序原理 ISP:In System Programing,在系统中编程 在STM32F10xxx里有三种启动方式: 以ISP方式下载程序时需要把STM32的 BOOT0 引脚置1、 BOOT1 引脚置0,即从系统存储区(System Memory)启动。为什么设置从System Memory启动就可以使用串口来下载我们的程序呢?那是因为在芯片出厂前ST官方已经把一段自举程序(BootLoader程序)固化到这一块存储区。对于STM32F103ZET6来说,System Memory的起始地址为0x1FFFF000,可在芯片手册的内存映射图里找到: 其通过串口来接收数据并烧写到 用户闪存存储器 的起始地址(0x08000000)。只能烧写到这个地址,若keil里设置的地址不是这个地址,则编译出来的文件将烧录不成功。 用户闪存,即User Flash,同时也称为Main Flash。 这一段 BootLoader 程序源码是没有开源出来的,用户是不可修改的。我们在上一篇笔记的IAP实验中,IAP程序通过 FlyMCU 软件进行烧录,烧录的地址就是 0x08000000 。 注意:不同系列不同型号的STM32固化的

STM32F107的串口IAP跳转功能实现过程笔记

给你一囗甜甜゛ 提交于 2019-11-28 22:43:58
工程从CAN接口方式转换为USART接口,IO口,时钟,中断,数据缓存等都做好了,但是USART接受数据老是不对,检查了波特率等设置,都没问题。 启动定时器测试,发现原因是芯片工作时钟频率不对。主频率根本就不是72M.而是比72M慢好几倍。 USART3_Configuration()应该不会出现问题,估计是时钟出现了问题,可是RCC_Configuration()我都是按照固件库函数来的怎么会出错呢?我从stm32f10x_rcc.h源头开始找起,发现默认初始化时钟函数SystemInit()里面有有问题,分频设置当然不会出现问题,问题出在时钟选择上,105/107属于互联网产品,Preprocessor Symbols用的是STM32F10X_CL,固件很多地方会针对这个STM32F10X_CL做出条件编译,其中SystemInit()默认选择外部时钟HSE,HSE的设置值HSE_VALUE在stm32f10x.h中宏定义默认是25MHz,我的板子用的是8MHz晶振,当然那里要改,所以我注释了原来,把8MHz加上。 #if !defined HSE_VALUE #ifdef STM32F10X_CL // #define HSE_VALUE ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */

NXP LPC 外部flash IAP APP修改点

妖精的绣舞 提交于 2019-11-26 06:53:29
增加m_bootloader_offset 为偏移20KB,此20KB存放bootloader,偏移20KB开始存放APP。 LPC54XXX_SPIFI_flash.scf */ #define m_bootloader_offset (20*1024) /*20KB 32KB for bootloader. */ /* USB BDT size */ #define usb_bdt_size 0x0 /* Sizes */ #if (defined(__stack_size__)) #define Stack_Size __stack_size__ #else #define Stack_Size 0x0400 #endif #if (defined(__heap_size__)) #define Heap_Size __heap_size__ #else #define Heap_Size 0x0400 #endif #if (defined(XIP_IMAGE)) #define m_interrupts_start 0x10000000+m_bootloader_offset #define m_interrupts_size 0x000001CC #else #define m_interrupts_start 0x00000000 #define m

NXP LPC外部flash IAP bootloader功能

孤者浪人 提交于 2019-11-26 06:38:55
遇到的问题: 1、spifi flash XIP启动模式。(有RAM启动和外部flash启动) 2、XIP启动后如何使用flash功能。(SPIFI操作flash需要把操作函数定位到SRAM中执行) 3、XIP启动后UART接收bin文件功能。(在外部falsh中启动,uart不能接收到数据?所有定位到SRAM中接收数据) 4、uart包接收解析。 下节详细讲解: 来源: https://blog.csdn.net/ldinvicible/article/details/98766806