diff --git a/Document/12-24V_2P2N双色LED_H桥驱动原理与器件设计.md b/Document/12-24V_2P2N双色LED_H桥驱动原理与器件设计.md deleted file mode 100644 index f7d810d..0000000 --- a/Document/12-24V_2P2N双色LED_H桥驱动原理与器件设计.md +++ /dev/null @@ -1,779 +0,0 @@ -# 12~24V 2P2N双色LED H桥驱动原理与器件设计 - -## 1. 文档目的 - -本文针对一套输入电压为12~24V的双色LED H桥驱动电路。主功率桥由2只PMOS和2只NMOS组成,另外使用2只小信号NMOS驱动高边PMOS,因此整个驱动部分共使用6只MOS管。 - -本文说明: - -- 2P2N主桥和2只驱动MOS分别承担什么工作; -- 双色LED为什么需要H桥改变电流方向; -- 两路PWM输入怎样控制暖光、冷光和关闭状态; -- 为什么两路输入绝对不能同时为高电平; -- 为什么换向必须先输出`00`并保留死区; -- PMOS为什么需要栅极上拉电阻和下拉电阻; -- 两个电阻为什么会形成分压; -- 电阻太大或太小分别会产生什么问题; -- 12V稳压管在电路中起什么作用; -- 如何计算PMOS的栅源电压、电阻功耗和稳压管电流; -- 如果取消稳压管,应当如何重新选择电阻; -- 为什么还必须检查死区时间、MOS管尖峰和PCB布局。 - -本文尽量使用直观的方式说明,适合刚接触MOS管驱动电路的工程人员阅读。 - ---- - -## 2. 完整电路由哪些部分组成 - - - -图1:本项目12~24V、2P2N主桥加2只小MOS驱动的完整原理图。 - -图中的主要器件分工如下: - -| 器件 | 类型 | 作用 | -|---|---|---| -| Q1、Q2 | 高边PMOS(60P03) | 分别把C端、W端连接到12~24V电源 | -| Q9、Q10 | 低边NMOS(60N03) | 分别把C端、W端连接到GND | -| Q7、Q8 | 小信号NMOS(AO3400A) | 分别下拉Q1、Q2的栅极 | -| R1、R2 | 2.4kΩ上拉电阻 | 使Q1、Q2快速关断 | -| R3、R4 | 3kΩ下拉通路电阻 | 与R1、R2分压,限制高边PMOS的导通VGS | -| D1、D2 | 12V稳压管(BZT52C12) | 限制高边PMOS的栅源电压尖峰 | -| R14、R15 | 10kΩ栅源下拉电阻 | 确保Q9、Q10在控制信号悬空时保持关闭 | - -### 2.1 2只高边PMOS - -高边使用2只PMOS: - -- 左侧PMOS负责把输出端`C`连接到12~24V电源; -- 右侧PMOS负责把输出端`W`连接到12~24V电源。 - -PMOS适合放在高边,是因为它的源极可以直接接正电源,栅极只需要从源极电压向下拉,就能导通。 - -### 2.2 2只低边NMOS - -低边使用2只NMOS: - -- 左侧NMOS负责把输出端`C`连接到GND; -- 右侧NMOS负责把输出端`W`连接到GND。 - -低边NMOS的源极接地,MCU输出高电平后比较容易直接驱动其栅极。 - -### 2.3 2只PMOS驱动NMOS - -MCU通常只有3.3V输出,不能直接把接在12~24V电源上的PMOS栅极拉到合适电位,所以增加2只小信号NMOS: - -- 左侧驱动NMOS负责下拉左侧PMOS栅极; -- 右侧驱动NMOS负责下拉右侧PMOS栅极。 - -这2只小MOS不直接承受LED主电流,只负责PMOS栅极的充电和放电控制。 - -### 2.4 负载是反向并联双色LED - -双色LED连接在`C`、`W`两个H桥输出端之间。两种颜色的LED芯片方向相反: - -- 电流从`C`流向`W`时,点亮一种颜色; -- 电流从`W`流向`C`时,点亮另一种颜色; -- 两个方向快速分时工作时,肉眼看到混合色或中性光。 - -H桥的作用不是简单提供两路独立正电压,而是改变流过双色LED的电流方向。 - ---- - -## 3. 两路输入如何控制H桥 - -本文把两路控制信号称为: - -- `PWM_W`:驱动Q7和对角线上的Q10,形成`C→W`电流; -- `PWM_C`:驱动Q8和对角线上的Q9,形成`W→C`电流。 - -按照当前交叉驱动结构,一路信号会同时控制一只高边PMOS和对角线上的一只低边NMOS。 - -> `PWM_C`、`PWM_W`是电路网络名称。最终点亮暖色还是冷色,还取决于双色LED的实际安装方向。 - -### 3.1 PWM_W有效 - -`PWM_W=1、PWM_C=0`时: - -- Q7导通并下拉Q1的栅极,使左侧高边PMOS Q1导通; -- 对角线上的右侧低边NMOS Q10导通; -- `C`端接近电源; -- `W`端接近GND; -- 电流方向为`电源 → C → LED → W → GND`。 - -此时点亮一个颜色。 - -### 3.2 PWM_C有效 - -`PWM_C=1、PWM_W=0`时: - -- Q8导通并下拉Q2的栅极,使右侧高边PMOS Q2导通; -- 对角线上的左侧低边NMOS Q9导通; -- `W`端接近电源; -- `C`端接近GND; -- 电流方向为`电源 → W → LED → C → GND`。 - -此时点亮另一个颜色。 - -### 3.3 两路均为低电平 - -`PWM_C=0、PWM_W=0`时: - -- 两只高边PMOS关闭; -- 两只低边NMOS关闭; -- H桥处于关闭状态; -- LED没有持续驱动电流。 - -换向时必须先进入这个状态。 - -### 3.4 两路均为高电平 - -`PWM_C=1、PWM_W=1`是禁止状态。 - -此时两组对角桥臂同时收到导通命令,可能导致同一桥臂的上管和下管同时导通,形成: - -```text -电源 → 上管 → 下管 → GND -``` - -这条路径几乎没有LED负载限流,会产生很大的直通电流,可能造成: - -- 电源异响; -- MOS管快速发热; -- 电源电压跌落; -- MCU复位或蓝牙掉线; -- MOS管损坏; -- PCB走线或电源器件损坏。 - -控制真值表如下: - -| PWM_C | PWM_W | H桥状态 | 结果 | -|---:|---:|---|---| -| 0 | 0 | 全部关闭 | 安全关闭/换向死区 | -| 0 | 1 | C高、W低 | 电流从C流向W | -| 1 | 0 | W高、C低 | 电流从W流向C | -| 1 | 1 | 禁止状态 | 可能发生桥臂直通 | - ---- - -## 4. 为什么换向必须设置死区 - -MOS管不是收到控制电平后立即完成导通或关断。栅极电容、米勒平台、驱动电阻和PCB寄生参数都会产生延迟。 - -如果直接执行: - -```text -PWM_C有效 → PWM_W有效 -``` - -可能出现: - -- 原方向的PMOS和NMOS还没有完全关闭; -- 新方向的PMOS和NMOS已经开始导通; -- 两个方向在很短时间内重叠; -- H桥形成瞬间直通。 - -正确换向顺序应为: - -```text -方向C导通 → 输出00 → 等待死区 → 方向W导通 -方向W导通 → 输出00 → 等待死区 → 方向C导通 -``` - -死区时间不能只根据软件定时值决定,必须结合实际MOS管栅极波形测量。对于本类低频LED PWM,可以先设置较保守的死区进行验证,再根据示波器结果缩短。 - -需要注意: - -- 死区太短,可能发生直通; -- 死区太长,会降低最大有效占空比和LED峰值亮度; -- 调高PWM频率后,相同死区占整个周期的比例会变大; -- PMOS上拉电阻变大后,通常需要重新确认死区是否足够。 - ---- - -## 5. 先认识PMOS的三个引脚 - -PMOS有三个主要引脚: - -- `S`:源极(Source),本电路接12V或24V电源; -- `G`:栅极(Gate),用于控制PMOS导通和关断; -- `D`:漏极(Drain),连接H桥输出端。 - -PMOS是否导通,主要取决于栅源电压: - -```text -VGS = VG - VS -``` - -其中: - -- `VG`是栅极对地电压; -- `VS`是源极对地电压。 - -假设源极接24V: - -| 栅极电压VG | 栅源电压VGS | PMOS状态 | -|---:|---:|---| -| 24V | 0V | 关断 | -| 20V | -4V | 开始较明显导通 | -| 14V | -10V | 充分导通 | -| 12V | -12V | 充分导通 | -| 0V | -24V | 超过多数PMOS的栅源耐压,危险 | - -> 注意:数据手册中的`VGS(th)`是“刚开始有很小电流”的开启阈值,不代表MOS管已经充分导通。 - -以SL60P03D为例: - -- `VGS(th)`约为-1.0V至-2.2V; -- 导通电阻通常在`VGS=-4.5V`或`VGS=-10V`条件下标定; -- 栅源极绝对最大耐压为`±20V`。 - -所以“20V”不是开启阈值,而是不能超过的栅源极极限耐压。 - ---- - -## 6. 上拉电阻和下拉电阻分别做什么 - -为避免受到原理图位号差异影响,本文统一使用下面的名称: - -- `RUP`:PMOS栅极到源极(电源)的上拉电阻; -- `RDOWN`:PMOS栅极到地的下拉电阻; -- `DZ`:跨接在PMOS栅极和源极之间的稳压管; -- `QDRV`:把PMOS栅极向地拉低的小信号MOS管。 - -简化结构如下: - -```text - 电源12V/24V - | - +--------- PMOS源极S - | - RUP - | - +--------- PMOS栅极G - | - RDOWN - | - QDRV - | - GND - -DZ稳压管跨接在PMOS的S和G之间。 -``` - -### 6.1 PMOS关断过程 - -当`QDRV`关闭后,下拉路径断开,`RUP`把PMOS栅极充电到源极电压: - -```text -VG ≈ VS -VGS ≈ 0V -``` - -PMOS关断。 - -因此,`RUP`越小,给栅极电容充电的电流越大,PMOS通常关断得越快。 - -### 6.2 PMOS导通过程 - -当`QDRV`导通后,`RUP`和`RDOWN`形成从电源到地的分压回路,栅极电压下降,PMOS得到负的`VGS`并导通。 - -因此: - -- `RUP`太小:关断快,但栅极不容易被拉低,PMOS导通电压可能不足; -- `RUP`太大:PMOS容易得到较大的负`VGS`,但栅极充电慢,关断时间增加; -- `RDOWN`太小:PMOS导通更充分,但电流和电阻功耗增加; -- `RDOWN`太大:功耗降低,但PMOS导通电压减小。 - -两个电阻必须综合考虑,不能只追求其中一个方向。 - ---- - -## 7. 没有稳压管时如何计算 - -先忽略稳压管,假设`QDRV`已经完全导通。 - -栅极电压为: - -```text -VG = VCC × RDOWN / (RUP + RDOWN) -``` - -PMOS栅源电压的绝对值为: - -```text -|VGS| = VCC × RUP / (RUP + RDOWN) -``` - -回路电流为: - -```text -I = VCC / (RUP + RDOWN) -``` - -两个电阻的功耗分别为: - -```text -PUP = I² × RUP -PDOWN = I² × RDOWN -``` - -### 7.1 当前原理图:24V、上拉2.4kΩ、下拉3kΩ - -```text -VCC = 24V -RUP = 2.4kΩ -RDOWN = 3kΩ -``` - -计算结果: - -```text -VG = 24 × 3 / (2.4 + 3) ≈ 13.33V -VGS = 13.33 - 24 ≈ -10.67V -I = 24 / 5.4k ≈ 4.44mA -PUP = I² × 2.4k ≈ 47mW -PDOWN = I² × 3k ≈ 59mW -``` - -所以栅极并不会被拉到0V,而是被两个电阻分压到约13.33V。 - -PMOS得到约-10.67V的栅源电压,能够充分导通。这个数值没有达到12V稳压管的击穿电压,因此D1/D2在稳定导通状态下基本不工作,主要用于处理换向尖峰。 - -### 7.2 当前原理图:12V、上拉2.4kΩ、下拉3kΩ - -同样的电阻在12V输入下: - -```text -VG = 12 × 3 / (2.4 + 3) ≈ 6.67V -VGS = 6.67 - 12 ≈ -5.33V -I = 12 / 5.4k ≈ 2.22mA -PUP ≈ 12mW -PDOWN ≈ 15mW -``` - -此时PMOS仍然可以可靠导通,而且12V稳压管在正常稳定状态下不会反向击穿。 - ---- - -## 8. 稳压管的真正作用 - -12V稳压管跨接在PMOS的源极和栅极之间,主要作用是限制`|VGS|`。 - -### 8.1 正常关断时 - -PMOS栅极被`RUP`拉到源极电压: - -```text -VGS ≈ 0V -``` - -稳压管不工作。 - -### 8.2 正常导通时 - -栅极被下拉,`|VGS|`逐渐增大。 - -当`|VGS|`接近稳压管的击穿电压后,稳压管开始反向导通,把`|VGS|`限制在大约12V附近。 - -24V输入、12V稳压管钳位时,理想状态约为: - -```text -VS ≈ 24V -VG ≈ 12V -VGS ≈ -12V -``` - -### 8.3 换向尖峰出现时 - -H桥换向会受到以下因素影响: - -- MOS管栅极电容; -- 米勒电容; -- PCB走线电感; -- LED和供电线路电感; -- MOS管体二极管反向恢复; -- 电源母线尖峰。 - -这些因素可能让`VGS`在很短时间内超过正常分压值。稳压管可以吸收部分栅源尖峰,避免PMOS栅极氧化层承受过高电压。 - -### 8.4 正向栅源尖峰 - -如果换向时栅极瞬间高于源极,稳压管会像普通二极管一样正向导通,把正向`VGS`限制在约0.7V至1V附近。 - -### 8.5 稳压管不能保护什么 - -栅源稳压管只能保护PMOS的`VGS`,不能保护PMOS的漏源极`VDS`。 - -例如: - -- 电源为24V; -- PMOS的`VDS`额定值为-30V。 - -这时漏源极只有约6V的理论尖峰余量。电源母线仍需考虑: - -- TVS管; -- 就近低ESR电容; -- 较短、较宽的功率走线; -- 减小H桥电流环路面积; -- 必要时使用耐压更高的MOS管。 - ---- - -## 9. 为什么稳压管不是接上就一定能稳定在12V - -稳压管必须获得足够的反向电流,才能进入比较稳定的击穿区。 - -为了说明稳压管为什么需要足够电流,下面使用“上拉1.2kΩ、下拉1kΩ”作为对比算例。这不是图1当前采用的2.4kΩ、3kΩ参数。 - -假设: - -```text -VCC = 24V -VZ = 12V -RUP = 1.2kΩ -RDOWN = 1kΩ -``` - -钳位后栅极约为12V。 - -下拉电阻电流: - -```text -IDOWN = 12V / 1kΩ = 12mA -``` - -上拉电阻电流: - -```text -IUP = (24V - 12V) / 1.2kΩ = 10mA -``` - -稳压管电流约为: - -```text -IZ = IDOWN - IUP = 12mA - 10mA = 2mA -``` - -因此,1.2kΩ上拉加1kΩ下拉时,稳压管大约只有2mA电流。 - -这通常可以产生一定的钳位作用,但实际电压未必正好是12.00V。稳压管的标称电压、测试电流、动态电阻和温度特性需要查看具体厂家的数据手册。 - -如果上拉和下拉都是1kΩ: - -```text -IUP = 12mA -IDOWN = 12mA -IZ ≈ 0mA -``` - -此时稳压管几乎没有剩余电流,不能指望它进入稳定的反向击穿状态。 - -对于图1当前的2.4kΩ上拉和3kΩ下拉,在24V正常导通时,计算得到`|VGS|≈10.67V`,低于12V,因此稳压管不会持续击穿。这正是更合适的状态:正常工作由电阻分压确定栅极电压,稳压管只处理异常瞬态。 - ---- - -## 10. 为什么电阻不能只考虑关断速度 - -MOS管的栅极不是普通的纯电阻负载,可以把它理解为一个需要充电和放电的电容。 - -SL60P03D的典型参数包括: - -- 输入电容`CISS`约为1988pF; -- 总栅极电荷`Qg`约为35nC(特定测试条件下); -- 米勒电荷`Qgd`约为8.8nC。 - -PMOS关断时,`RUP`负责给栅极充电。可以先用RC时间常数粗略估算: - -```text -τ ≈ RUP × CISS -``` - -例如: - -| RUP | 估算时间常数τ | -|---:|---:| -| 1.2kΩ | 约2.4μs | -| 2.2kΩ | 约4.4μs | -| 2.4kΩ | 约4.8μs | -| 3.6kΩ | 约7.2μs | - -实际关断时间还受到栅极电荷、米勒平台、漏极电压变化和PCB寄生参数影响,不能只用一个RC公式定论。 - -### 10.1 RUP太大 - -可能产生: - -- PMOS关断变慢; -- 换向时上管尚未完全关断,下管已经开启; -- H桥上下管短暂直通; -- 电源出现大电流尖峰; -- MOS管异常发热; -- 电路发出异响; -- 严重时损坏MOS管或电源。 - -### 10.2 RUP太小 - -可能产生: - -- PMOS关断速度加快; -- 但下拉时大量电流被RUP分走; -- 栅极下拉不够,PMOS的负`VGS`不足; -- PMOS没有充分导通,导通电阻增大; -- 驱动回路静态功耗增加; -- 电阻和驱动管温升增加。 - -所以“上拉电阻越小越安全”并不成立。 - ---- - -## 11. 电阻功耗不能只按照死区时间计算 - -这是非常容易出现的误区。 - -死区时间,例如25μs或50μs,表示换向时两边都关闭的保护时间。它不代表上拉、下拉电阻只通电25μs或50μs。 - -当PMOS保持导通时: - -- `QDRV`持续导通; -- `RUP`、`RDOWN`和稳压管可能持续有电流; -- 电阻功耗会持续整个PMOS导通阶段。 - -因此必须分别检查: - -1. 正常导通期间的连续或平均功耗; -2. 换向尖峰期间的瞬时脉冲功耗。 - -### 11.1 对比算例:24V钳位在12V、RUP=1.2kΩ、RDOWN=1kΩ - -钳位时: - -```text -PUP = 12² / 1.2k ≈ 120mW -PDOWN = 12² / 1k ≈ 144mW -PZ = 12V × 2mA ≈ 24mW -``` - -普通0603电阻常见连续额定功率约为0.1W,但不同厂家、环境温度和PCB焊盘条件会有差异。 - -因此: - -- 120mW和144mW不能简单地当成“只有50μs”; -- 如果PMOS长时间保持导通,电阻可能接近连续承受该功耗; -- 建议使用0805封装,或使用多个电阻分担功耗; -- 最终必须查看所选电阻的数据手册和降额曲线。 - -图1当前采用2.4kΩ上拉和3kΩ下拉,24V稳定工作时功耗分别约为47mW和59mW,不会出现上述持续钳位功耗;但0603电阻仍应考虑环境温度和功率降额。 - ---- - -## 12. 取消稳压管时如何选择电阻 - -如果决定不安装稳压管,就必须完全依靠电阻分压限制`VGS`。 - -设计时应检查最坏情况: - -```text -|VGS|max = VCC,max × RUP,max / (RUP,max + RDOWN,min) -``` - -必须同时考虑: - -- 电源最高电压; -- 电源启动和负载突卸尖峰; -- 电阻误差; -- 温度; -- 驱动管导通压降; -- PCB寄生参数。 - -### 12.1 同时兼容12V和24V的参考值 - -可以考虑: - -```text -RUP = 2.4kΩ -RDOWN = 3kΩ -``` - -计算结果: - -| 输入电压 | 栅源电压VGS | 回路电流 | -|---:|---:|---:| -| 12V | 约-5.33V | 约2.22mA | -| 24V | 约-10.67V | 约4.44mA | - -24V时电阻功耗: - -```text -PUP ≈ 47mW -PDOWN ≈ 59mW -``` - -这个组合具有以下特点: - -- 12V输入时仍能获得约-5.33V驱动; -- 24V输入时约为-10.67V; -- 正常功耗低于1.2kΩ加1kΩ方案; -- 2.4kΩ上拉的关断速度仍然较快; -- 不需要依靠稳压管在正常工作时持续击穿。 - -即使使用这个分压,保留稳压管仍然有价值:它在正常工作时不导通,只在异常尖峰时保护PMOS。 - ---- - -## 13. 两种方案对比 - -### 方案A:电阻分压加稳压管 - -优点: - -- 对栅源尖峰有额外保护; -- 元件误差或异常状态下更安全; -- 可以限制`VGS`不超过约12V。 - -缺点: - -- 必须保证稳压管具有合适的工作电流; -- 如果设计成稳压管持续击穿,会增加静态功耗; -- 电阻功耗和稳压管功耗都需要核算。 - -适合: - -- 24V供电; -- H桥换向尖峰明显; -- 对可靠性要求较高; -- PCB空间允许增加保护器件。 - -### 方案B:只使用电阻分压 - -优点: - -- 元件少; -- 不存在稳压管持续工作产生的额外功耗; -- 参数计算直观。 - -缺点: - -- 失去栅源尖峰钳位; -- 对电源波动、电阻误差和PCB寄生参数更敏感; -- 上拉电阻开路等故障可能让`VGS`超过额定值。 - -适合: - -- 输入电压范围明确; -- 电源尖峰受到良好控制; -- 已经通过示波器确认`VGS`安全; -- 有足够的设计余量。 - ---- - -## 14. 本电路的建议 - -### 14.1 如果保留12V稳压管 - -建议: - -- 不要只根据“关断越快越好”无限减小上拉电阻; -- 计算稳压管电流,确认能够形成有效钳位; -- 按整个PMOS导通时间核算电阻平均功耗; -- 对超过或接近0.1W的电阻优先使用0805; -- 用示波器测量真实`VGS`,确认导通时约为-10V至-12V,关断时回到0V。 - -### 14.2 如果取消稳压管 - -12V至24V输入可以先测试: - -```text -RUP = 2.4kΩ -RDOWN = 3kΩ -``` - -但必须满足: - -- 实测最大负`VGS`有足够余量; -- 实测正向和反向尖峰没有接近`±20V`; -- 电源母线已经做好TVS和就近电容; -- PMOS能在下管开启前完全关断; -- 保留足够的硬件或软件死区。 - -### 14.3 关于死区 - -死区的最终取值不能仅凭计算,应根据示波器实测决定。 - -至少同时测量: - -- 上管PMOS的`VGS`; -- 下管NMOS的`VGS`; -- H桥输出节点; -- 24V母线电压; -- 条件允许时测量桥臂电流。 - -判断标准是: - -> 下管开始导通之前,对应上管必须已经退出导通区,并且换向过程中没有异常母线电流尖峰。 - ---- - -## 15. 初学者常见误区 - -### 误区一:PMOS的20V是开启阈值 - -错误。20V通常是栅源极最大耐压。真正的`VGS(th)`一般只有约1V至3V,但这个电压只能让MOS管刚刚开始导通。 - -### 误区二:栅极下拉后一定是0V - -错误。如果存在上拉和下拉电阻,栅极由两个电阻分压,不会自然等于0V。 - -### 误区三:装了12V稳压管,VGS就一定是-12V - -错误。稳压管必须获得足够的反向电流,实际钳位电压还受到电流、温度和器件误差影响。 - -### 误区四:上拉电阻越小,电路越安全 - -错误。上拉电阻减小会加快关断,但也会降低PMOS导通时的负`VGS`,并增加静态功耗。 - -### 误区五:电阻的高功耗只持续死区时间 - -错误。PMOS导通期间,分压回路可能持续有电流。必须按照实际占空比和最坏工作状态核算平均功耗。 - -### 误区六:栅源稳压管可以保护整个MOS管 - -错误。它主要保护`VGS`,不能代替24V母线TVS,也不能阻止`VDS`超过MOS管额定值。 - ---- - -## 16. 最终检查清单 - -原理图确定后,至少完成以下检查: - -- [ ] 确认PMOS的`VGS(th)`、推荐驱动电压和`VGS(max)`; -- [ ] 计算12V和24V下的正常`VGS`; -- [ ] 计算最高电源电压和电阻误差下的最坏`VGS`; -- [ ] 计算上拉、下拉电阻连续功耗; -- [ ] 计算稳压管正常电流和功耗; -- [ ] 检查0603/0805电阻的额定功率和降额曲线; -- [ ] 测量PMOS栅极对源极波形,而不是只测栅极对地; -- [ ] 检查换向时是否有正向或反向`VGS`尖峰; -- [ ] 检查上下管是否发生交叉导通; -- [ ] 验证`PWM_C=1、PWM_W=1`在软硬件中都不会出现; -- [ ] 验证每次方向切换都经过`00`关闭状态; -- [ ] 检查24V母线是否超过PMOS的`VDS`额定值; -- [ ] 高温、低温、最低输入和最高输入条件下重复测试。 - ---- - -## 17. 总结 - -PMOS栅极驱动电阻的选择,本质上是在以下四项之间寻找平衡: - -1. PMOS必须得到足够的负`VGS`,保证充分导通; -2. PMOS必须快速回到`VGS≈0V`,保证及时关断; -3. 分压回路的电流和电阻功耗不能过大; -4. 栅源电压和换向尖峰不能超过MOS管额定值。 - -稳压管的核心作用是保护PMOS栅源极,而不是替代电阻分压,也不是控制死区。合理的设计应先用电阻比例确定正常工作点,再用稳压管处理异常和瞬态过压,最后通过示波器实测确认。 - -对于这套12~24V、2P2N主桥加2只驱动MOS的双色LED电路,还必须始终遵守两个基本原则: - -1. `PWM_C`和`PWM_W`不能同时为高电平; -2. 两个电流方向切换时,必须先输出`00`,等待确认安全的死区后再开启另一方向。 diff --git a/Document/DWM22_黑盒用户测试文档.md b/Document/DWM22_黑盒用户测试文档.md deleted file mode 100644 index b0a2f0b..0000000 --- a/Document/DWM22_黑盒用户测试文档.md +++ /dev/null @@ -1,203 +0,0 @@ -# DWM22 黑盒用户测试文档 - -## 1. 文档信息 - -| 项目 | 内容 | -| --- | --- | -| 产品名称 | DWM22 | -| 测试类型 | 用户黑盒功能测试 | -| 固件校验码 | `0F9DA5A0` | -| 固件提交 | `ee68f37 DWM22量产测试` | -| APP | Ultra Life | -| 测试日期 | | -| 测试人员 | | -| 样机编号 | | - -> 测试人员只根据实际操作和灯光表现判断结果,不需要查看程序、波形或内部数据。 - -## 2. 测试准备 - -- DWM22 测试样机 1 台。 -- 双色 LED 灯板及 12~24V 配套电源。 -- 安装最新版 Ultra Life APP 的手机 1 台。 -- 433 遥控器至少 2 个;测试 5 路记忆时准备 6 个。 -- 遥控距离测试场地:无遮挡、直线距离大于 12 米。 -- 每个用例测试完成后,在“结果”栏填写:通过或失败。 - -## 3. 产品模式说明 - -DWM22 共 14 个产品模式,固定顺序如下: - -**暖光静态 → 冷光静态 → 中性光静态 → 暖光呼吸 → 冷光呼吸 → 中性光呼吸 → 三色呼吸 → 暖冷连续渐变 → 暖冷中性渐变 → 暖光闪烁 → 冷光闪烁 → 中性光闪烁 → 暖冷中性跳变 → 三色闪烁** - -- 模式 1~3 为静态模式,可以调节亮度。 -- 模式 4~14 为动态模式,可以调节亮度和速度。 -- 遥控器“模式+”按上述顺序向后切换,“模式-”按相反顺序返回。 -- 到达模式 14 后继续按“模式+”,应停留在模式 14,不从头循环。 -- 到达模式 1 后继续按“模式-”,应停留在模式 1,不跳到模式 14。 -- APP 色温环属于自定义静态色温,不占用以上 14 个模式编号。 - -| 顺序 | 模式名称 | 产品效果说明 | -| --- | --- | --- | -| 1 | 暖光静态 | 仅暖光常亮 | -| 2 | 冷光静态 | 仅冷光常亮 | -| 3 | 中性光静态 | 暖光和冷光混合形成中性光 | -| 4 | 暖光呼吸 | 暖光由暗到亮、再由亮到暗循环 | -| 5 | 冷光呼吸 | 冷光由暗到亮、再由亮到暗循环 | -| 6 | 中性光呼吸 | 暖冷两路保持中性比例同步呼吸 | -| 7 | 三色呼吸 | 暖光、冷光、中性光依次完成呼吸 | -| 8 | 暖冷连续渐变 | 暖光与冷光互补变化,一个降低时另一个升高,全程不断光 | -| 9 | 暖冷中性渐变 | 在暖光、冷光和中性光之间平滑渐变,颜色衔接时保持亮光 | -| 10 | 暖光闪烁 | 暖光按设定速度亮灭 | -| 11 | 冷光闪烁 | 冷光按设定速度亮灭 | -| 12 | 中性光闪烁 | 中性光按设定速度亮灭 | -| 13 | 暖冷中性跳变 | 暖光、冷光、中性光直接切换,不做渐变 | -| 14 | 三色闪烁 | 暖光、冷光、中性光依次闪烁,中间包含熄灭节拍 | - -## 4. 基本功能 - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| 01 | 接通电源 | 灯具能在正常时间内点亮;无长时间不亮、异常闪烁、异响或发热 | | | -| 02 | 使用遥控器或 APP 开灯、关灯 | 开关响应正确,开关过程柔和;关灯后两路 LED 均完全熄灭 | | | -| 03 | 连续开关灯 10 次 | 每次均正常响应,无死机、失控或蓝牙广播消失 | | | -| 04 | 在暖光、冷光、中性光之间反复切换 | 颜色正确,过渡柔和,无突然增亮、突然变暗或异常颜色闪现 | | | -| 05 | 从最低亮度逐级调到最高亮度,再调回最低亮度 | 亮度变化连续、均匀,无明显顿挫、抖动或提前熄灭 | | | -| 06 | 中性光在低亮度下持续观察 30 秒 | 无肉眼可见抖动,两路混色比例稳定 | | | - -## 5. 遥控器对码 - -对码操作:连接 DWM22,在 APP“更多”页面点击“遥控器对码”,在 5 秒倒计时内长按遥控器“亮度+”按键。 - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| 07 | 使用未对码遥控器直接控制灯具 | 灯具不响应 | | | -| 08 | 在 APP 中进入“遥控器对码”,长按遥控器“亮度+” | 灯具给出对码闪烁反馈;APP 显示“对码成功”和已对码数量 | | | -| 09 | 对码成功后测试遥控器开关、模式和亮度按键 | 所有按键均能正常控制灯具,短按一次即可响应 | | | -| 10 | 打开对码页面但不操作遥控器,等待 5 秒 | 对码自动结束,APP 提示未收到有效信号;原有遥控器不受影响 | | | -| 11 | 将已经对码的同一个遥控器再次对码 | 可以提示对码成功,但已对码数量不增加,不重复占用位置 | | | -| 12 | 依次对码 5 个不同遥控器 | 5 个遥控器都能控制灯具,APP 显示 `5/5` | | | -| 13 | 已有 5 个遥控器后,再对码第 6 个遥控器 | 第 6 个遥控器可以使用;最早对码的遥控器被替换,其余最近 4 个仍可使用 | | | -| 14 | 对码成功后切断电源,重新上电 | 已对码遥控器仍能使用,对码数据不会因断电丢失 | | | - -## 6. 遥控器清码 - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| 15 | APP“更多”页面点击“清除遥控器” | 出现二次确认窗口,不会直接清码 | | | -| 16 | 在确认窗口点击“取消” | 遥控器数据保留,原遥控器仍可使用 | | | -| 17 | 再次进入清码并点击“清除” | 灯具给出清码反馈,APP 提示“清码成功”,已对码数量变为 0 | | | -| 18 | 清码后测试全部旧遥控器 | 所有旧遥控器均不能控制灯具 | | | -| 19 | 清码后重新对码一个遥控器 | 可以正常重新对码并控制灯具 | | | -| 20 | 清码后断电重启,再测试旧遥控器 | 清码结果被记忆,旧遥控器仍不能控制灯具 | | | - -## 7. 遥控距离 - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| 21 | 在无遮挡环境下,将遥控器与灯具距离拉到 12 米以上 | 在大于 12 米的位置仍可正常控制,判定距离合格 | | 实测距离:____m | -| 22 | 在 12 米位置,分别短按开关、模式+、模式-、亮度+、亮度-各 10 次 | 按键能可靠响应,不能依赖连续按两次或刻意延长短按时间;建议每个按键至少 9 次一次响应 | | | -| 23 | 改变遥控器朝向,在 12 米位置重复测试 | 不应频繁失控;正常手持方向下可以稳定操作 | | | - -## 8. 模式顺序测试 - -先在 APP 中选择模式 1,然后使用遥控器“模式+”按顺序测试到模式 14,每个模式至少观察 20 秒。之后使用“模式-”从模式 14 反向测试回模式 1。 - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| M01 | APP 依次点击模式 1~14 | 实际效果与 APP 模式名称一致,顺序正确 | | | -| M02 | 从模式 1 开始,遥控短按“模式+”13次 | 严格按照 1→2→…→14 切换,每次只前进一个模式 | | | -| M03 | 在模式 14 再按“模式+” | 保持模式 14,不循环回模式 1 | | | -| M04 | 从模式 14 开始,遥控短按“模式-”13次 | 严格按照 14→13→…→1 返回,每次只后退一个模式 | | | -| M05 | 在模式 1 再按“模式-” | 保持模式 1,不跳转到模式 14 | | | -| M06 | 对比 APP 选中模式、灯光效果和遥控切换结果 | 三者始终对应,不出现错位一个模式的情况 | | | - -| 模式 | 效果 | 主要检查内容 | 结果 | -| --- | --- | --- | --- | -| 1 | 暖光静态 | 暖光正确,亮度稳定 | | -| 2 | 冷光静态 | 冷光正确,亮度稳定 | | -| 3 | 中性光静态 | 两路混色正确,无抖动 | | -| 4 | 暖光呼吸 | 从低到高、再从高到低,过程柔和 | | -| 5 | 冷光呼吸 | 从低到高、再从高到低,过程柔和 | | -| 6 | 中性光呼吸 | 呼吸时间与单色接近,低亮度无明显抖动,峰值亮度正常 | | -| 7 | 三色呼吸 | 暖、冷、中性依次呼吸;上一颜色降到最低后下一颜色平滑升起 | | -| 8 | 暖冷连续渐变 | 暖光降低时冷光同步升高,全程不断光、无突然跳变 | | -| 9 | 暖冷中性渐变 | 暖、冷、中性过渡自然;颜色交接时不突然变黑或异常增亮 | | -| 10 | 暖光闪烁 | 只出现暖光,节奏稳定 | | -| 11 | 冷光闪烁 | 只出现冷光,节奏稳定 | | -| 12 | 中性光闪烁 | 只出现中性光,两路比例稳定 | | -| 13 | 暖冷中性跳变 | 暖、冷、中性直接切换,颜色正确,无多余低亮度闪光 | | -| 14 | 三色闪烁 | 暖、冷、中性按设计闪烁,无错误颜色 | | - -补充检查: - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| 24 | 在模式 1~3 之间切换 | 使用柔和过渡,不出现最后突然亮一下的现象 | | | -| 25 | 从静态模式切换到模式 4~7 | 呼吸从低亮度开始,不会直接从最高亮度开始 | | | -| 26 | 切换到模式 10~14 | 直接进入正确动态效果,不出现其他颜色或多余低亮度脉冲 | | | -| 27 | 在动态模式下调节亮度 | 动态效果整体亮度可以调节,变化正确 | | | -| 28 | 在动态模式下调节速度 1~10 | 速度变化明显且方向正确;APP 显示值与实际效果一致 | | | -| 29 | 遥控器长按模式+或模式- | 按下时先执行一次,持续按住时约每 500ms 切换一次,不快速乱跳 | | | - -## 9. 掉电记忆 - -### 9.1 全部带记忆 - -在 APP“更多 → 断电设置”中选择“全部带记忆”。 - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| 30 | 设置任意静态颜色、亮度,等待 2 秒后断电重启 | 恢复断电前的颜色和亮度 | | | -| 31 | 设置任意动态模式、亮度和速度,等待 2 秒后断电重启 | 恢复断电前的模式、亮度和速度 | | | -| 32 | 关灯后等待 2 秒,再切断电源并重新上电 | 恢复关灯状态,不应自行亮起 | | | -| 33 | 在中性光状态下改变亮度、模式或断电设置 | 保存过程中灯光不闪烁、不熄灭,蓝牙连接不中断 | | | - -### 9.2 断电切换功能 - -在 APP“更多 → 断电设置”中选择“断电切换功能”。 - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| 34 | 设置一个容易识别的亮度,连续断电上电 4 次 | 每次上电依次为:暖光 → 冷光 → 中性光 → 暖光 | | | -| 35 | 检查每次上电后的亮度 | 三种静态颜色均保留之前设置的亮度 | | | -| 36 | 在任意动态模式或自定义色温下断电,再上电 | 仍按暖光、冷光、中性光的固定顺序轮换,不受断电前模式影响 | | | -| 37 | 选择断电切换功能后断电重启多次 | 该设置本身被记忆,不会自动恢复为“全部带记忆” | | | -| 38 | 在 APP 中来回切换两种断电设置 | 切换时灯光不闪烁、不突变,蓝牙连接保持正常 | | | - -## 10. 蓝牙控制 - -| 编号 | 测试操作 | 预期结果 | 结果 | 备注 | -| --- | --- | --- | --- | --- | -| 39 | 打开 APP 搜索设备 | 能发现名称为 `DWM22` 的设备 | | | -| 40 | 连接 DWM22 | 可以正常进入 DWM22 控制界面,连接稳定 | | | -| 41 | APP 控制开灯和关灯 | 灯具正确响应,APP 状态与灯具一致 | | | -| 42 | APP 将亮度从 1 调到 100,再调回 1 | 灯光变化平滑,最低亮度可正常显示,无明显抖动或顿挫 | | | -| 43 | APP 拖动色温环,从暖光连续调到冷光并往返 | 色温连续变化,采用柔和过渡,无黑场、突变或错误颜色 | | | -| 44 | APP 依次选择 14 个模式 | 灯具效果与 APP 名称、图标和选中状态一致 | | | -| 45 | APP 调节动态亮度和速度 1~10 | 实际亮度和速度正确变化,界面数值正确 | | | -| 46 | 使用遥控器改变开关、模式、亮度或速度 | APP 已显示的设备状态能同步更新,不出现明显错乱 | | | -| 47 | 设置 APP 定时关机 | 到达设定时间后灯具自动关闭 | | | -| 48 | 蓝牙连接中关闭手机蓝牙或让设备断电 | APP 自动退出设备控制页,不停留在失效界面 | | | -| 49 | 恢复设备电源和手机蓝牙后重新连接 | 可以再次发现并连接,所有控制恢复正常 | | | -| 50 | 蓝牙连接状态下连续操作 5 分钟 | 无断链、无卡死、无控制延迟持续增大,灯光无异常抖动 | | | - -## 11. 测试结论 - -| 项目 | 结论 | -| --- | --- | -| 对码功能 | □ 通过 □ 失败 | -| 清码功能 | □ 通过 □ 失败 | -| 遥控距离大于 12m | □ 通过 □ 失败 | -| 掉电记忆 | □ 通过 □ 失败 | -| 模式与灯光效果 | □ 通过 □ 失败 | -| 蓝牙控制 | □ 通过 □ 失败 | -| 整机测试结论 | □ 合格 □ 不合格 | - -问题记录: - -1. -2. -3. - -测试人员签名:________________ 日期:________________ diff --git a/Document/PWM31X蓝牙协议.xls b/Document/PWM31X蓝牙协议.xls deleted file mode 100644 index e23249d..0000000 Binary files a/Document/PWM31X蓝牙协议.xls and /dev/null differ diff --git a/Document/PWM32EPRO.xlsx b/Document/PWM32EPRO.xlsx deleted file mode 100644 index 82b2cbd..0000000 Binary files a/Document/PWM32EPRO.xlsx and /dev/null differ diff --git a/Document/images/12-24V_2P2N_H桥驱动原理图.png b/Document/images/12-24V_2P2N_H桥驱动原理图.png deleted file mode 100644 index 8e93c74..0000000 Binary files a/Document/images/12-24V_2P2N_H桥驱动原理图.png and /dev/null differ diff --git a/Document/烧录文件/PWM32EPRO_V2.0_20260430(2线3线蓝牙礼盒).bin b/Document/烧录文件/PWM32EPRO_V2.0_20260430(2线3线蓝牙礼盒).bin deleted file mode 100644 index ae8550e..0000000 Binary files a/Document/烧录文件/PWM32EPRO_V2.0_20260430(2线3线蓝牙礼盒).bin and /dev/null differ diff --git a/project/example/ble/ble_peripheral/app/api/app_task.h b/project/example/ble/ble_peripheral/app/api/app_task.h index 6f3286e..47ae079 100644 --- a/project/example/ble/ble_peripheral/app/api/app_task.h +++ b/project/example/ble/ble_peripheral/app/api/app_task.h @@ -397,7 +397,7 @@ /// Default Device Name -#define APP_DFLT_DEVICE_NAME ("DWM22") // +#define APP_DFLT_DEVICE_NAME ("PWM32EPRO") // #define APP_DFLT_DEVICE_NAME_LEN (sizeof(APP_DFLT_DEVICE_NAME)) #define APP_DFLT_DEVICE_NAME_LEN1 (sizeof(APP_DFLT_DEVICE_NAME1)) #define APP_DFLT_DEVICE_NAME2 ("Second_test") diff --git a/project/example/ble/ble_peripheral/app/src/arch_main.c b/project/example/ble/ble_peripheral/app/src/arch_main.c index 66635e3..e7f4ed1 100644 --- a/project/example/ble/ble_peripheral/app/src/arch_main.c +++ b/project/example/ble/ble_peripheral/app/src/arch_main.c @@ -452,7 +452,6 @@ int main(void) #endif // gpio_pullup_input_inter_test(); adc_Init(); - external_key_init(); /* Keep RF433 GPIO initialization after the other input setup. */ rf433_gpio_init(); /* Clear any startup transition pulses after RF433 GPIO is stable. */ diff --git a/project/example/ble/ble_peripheral/app/src/bridge_pwm.c b/project/example/ble/ble_peripheral/app/src/bridge_pwm.c index 21a39d6..2ab4c2a 100644 --- a/project/example/ble/ble_peripheral/app/src/bridge_pwm.c +++ b/project/example/ble/ble_peripheral/app/src/bridge_pwm.c @@ -16,7 +16,7 @@ * Dual-color output uses one fixed 500 us frame: * OFF -> W pulse -> OFF -> C pulse -> OFF to frame end. * The available OFF time is distributed around both direction changes and - * each W/C transition retains at least 25 us protection. + * each W/C transition retains at least 50 us protection. * Normal dual-color output produces one pulse per color per frame (2 kHz). * Only the low-output neutral section of three-color breathing uses PDM. */ @@ -24,8 +24,8 @@ #define BRIDGE_PWM_PERIOD 6U #define BRIDGE_MIX_SCALE 1000U #define BRIDGE_FRAME_US 500U -#define BRIDGE_DEADTIME_US 25U -#define BRIDGE_DUAL_ACTIVE_US 450U +#define BRIDGE_DEADTIME_US 50U +#define BRIDGE_DUAL_ACTIVE_US 400U #define BRIDGE_MIN_DUAL_PULSE_US 1U #define BRIDGE_NEUTRAL_PDM_PULSE_US 50U #define BRIDGE_TIMER_TICKS_PER_US 16U @@ -521,7 +521,7 @@ __RAM_CODE void Bridge_Service_1ms(void) pwm_duty = (uint16_t)((total * BRIDGE_PWM_SCALE + (BRIDGE_MIX_SCALE / 2U)) / BRIDGE_MIX_SCALE); /* - * Use the same 450 us maximum energy as mixed light for every + * Use the same 400 us maximum energy as mixed light for every * single-color output. Switching between the hardware-PWM and * Timer3 mixed-light paths therefore does not change total energy. */ @@ -550,9 +550,9 @@ __RAM_CODE void Bridge_Service_1ms(void) if (cached_w_mix != w_mix || cached_c_mix != c_mix || output_mode != BRIDGE_MODE_DUAL) { /* - * Keep 50 us OFF at maximum dual-color brightness. The OFF time is - * split evenly between W->C and C->W, which both absorbs interrupt - * latency and spreads the two optical pulses across the 500 us frame. + * Keep 100 us OFF at maximum dual-color brightness. The OFF time is + * split evenly into 50 us for W->C and 50 us for C->W. This absorbs + * interrupt latency and spreads both optical pulses across the frame. */ total_on_us = (BRIDGE_DUAL_ACTIVE_US * total + (BRIDGE_MIX_SCALE / 2U)) / BRIDGE_MIX_SCALE; diff --git a/project/example/ble/ble_peripheral/app/src/timeslice.c b/project/example/ble/ble_peripheral/app/src/timeslice.c index 12ace5a..468ba92 100644 --- a/project/example/ble/ble_peripheral/app/src/timeslice.c +++ b/project/example/ble/ble_peripheral/app/src/timeslice.c @@ -34,7 +34,6 @@ TASK_COMPONENTS TaskComps[] = {0, 311, 1, app_op_flash}, //Óû§Êý¾ݳ־û¯ fmc_spi_read9 {0, 311, 1, xc_ota_schedule}, //±£´æflashÊý¾ÝÈÎÎñ 8 //×îºóµ÷ÓõÄ {0, 1, 1, rf433_decoder_process}, - {0, 10, 10, external_key_scan}, //GPIO5 external key scan }; /************************************************************************************** diff --git a/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map b/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map index 17f307a..67b5e87 100644 --- a/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map +++ b/project/example/ble/ble_peripheral/mdk/Listings/Xinc_ble_sdk.map @@ -186,7 +186,6 @@ Section Cross References arch_main.o(i.main) refers to pwm.o(i._PWM_INIT) for _PWM_INIT arch_main.o(i.main) refers to bridge_pwm.o(i.Bridge_Init) for Bridge_Init arch_main.o(i.main) refers to pwm.o(i.adc_Init) for adc_Init - arch_main.o(i.main) refers to external_key.o(i.external_key_init) for external_key_init arch_main.o(i.main) refers to rf433.o(i.rf433_gpio_init) for rf433_gpio_init arch_main.o(i.main) refers to rf433_decoder.o(i.rf433_decoder_init) for rf433_decoder_init arch_main.o(i.main) refers to timeslice.o(i.TaskProcess) for TaskProcess @@ -1035,7 +1034,6 @@ Section Cross References timeslice.o(.data) refers to ota_flash_interface.o(i.app_op_flash) for app_op_flash timeslice.o(.data) refers to ota_protocol.o(i.xc_ota_schedule) for xc_ota_schedule timeslice.o(.data) refers to rf433_decoder.o(i.rf433_decoder_process) for rf433_decoder_process - timeslice.o(.data) refers to external_key.o(i.external_key_scan) for external_key_scan uart_1.o(i.scan_uart) refers to timeslice.o(i.set_TaskComps_timer) for set_TaskComps_timer uart_1.o(i.scan_uart) refers to app_sec.o(i.__ARM_common_switch8) for __ARM_common_switch8 uart_1.o(i.scan_uart) refers to mode.o(i.Stop_PWM) for Stop_PWM @@ -2013,12 +2011,18 @@ Removing Unused input sections from the image. Removing pwm.o(.data), (2 bytes). Removing bridge_pwm.o(.emb_text), (8 bytes). Removing external_key.o(.emb_text), (8 bytes). + Removing external_key.o(i.external_key_adjust_step), (100 bytes). + Removing external_key.o(i.external_key_init), (32 bytes). + Removing external_key.o(i.external_key_long_start), (40 bytes). + Removing external_key.o(i.external_key_save_later), (14 bytes). + Removing external_key.o(i.external_key_scan), (332 bytes). + Removing external_key.o(.data), (10 bytes). Removing fmc_spi.o(.emb_text), (8 bytes). Removing ringbuffer.o(i.ring_buffer_is_empty), (16 bytes). Removing ringbuffer.o(i.ring_buffer_is_full), (22 bytes). Removing ringbuffer.o(i.ring_buffer_num_items), (14 bytes). -410 unused section(s) (total 23132 bytes) removed from the image. +416 unused section(s) (total 23660 bytes) removed from the image. ============================================================================== @@ -2075,146 +2079,146 @@ Image Symbol Table Symbol Name Value Ov Type Size Object(Section) ../clib/../cmprslib/zerorunl2.c 0x00000000 Number 0 __dczerorl2.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit2.o ABSOLUTE ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit3.o ABSOLUTE - ../clib/angel/boardlib.s 0x00000000 Number 0 boardshut.o ABSOLUTE + ../clib/angel/boardlib.s 0x00000000 Number 0 boardinit1.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_zi.o ABSOLUTE ../clib/angel/handlers.s 0x00000000 Number 0 __scatter_copy.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE - ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry4.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry2.o ABSOLUTE ../clib/angel/kernel.s 0x00000000 Number 0 rtexit2.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_locale_intlibspace.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0_sigfpe.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE - ../clib/angel/rt.s 0x00000000 Number 0 rt_locale.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 rtexit.o ABSOLUTE + ../clib/angel/kernel.s 0x00000000 Number 0 __rtentry.o ABSOLUTE ../clib/angel/rt.s 0x00000000 Number 0 rt_ctype_table.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_div0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0_sigfpe.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_locale_intlibspace.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_locale.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 aeabi_idiv0.o ABSOLUTE + ../clib/angel/rt.s 0x00000000 Number 0 rt_raise.o ABSOLUTE ../clib/angel/scatterp.s 0x00000000 Number 0 __scatter.o ABSOLUTE ../clib/angel/startup.s 0x00000000 Number 0 __main.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 tempstk.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 sys_stackheap_outer.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE - ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 tempstk.o ABSOLUTE ../clib/angel/sys.s 0x00000000 Number 0 indicate_semi.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 libspace.o ABSOLUTE + ../clib/angel/sys.s 0x00000000 Number 0 use_no_semi.o ABSOLUTE ../clib/angel/sysapp.c 0x00000000 Number 0 sys_command.o ABSOLUTE - ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 argv_veneer.o ABSOLUTE ../clib/armsys.c 0x00000000 Number 0 no_argv.o ABSOLUTE + ../clib/armsys.c 0x00000000 Number 0 _get_argv_nomalloc.o ABSOLUTE ../clib/bigflt.c 0x00000000 Number 0 bigflt0.o ABSOLUTE ../clib/btod.c 0x00000000 Number 0 btod.o ABSOLUTE - ../clib/division.c 0x00000000 Number 0 lludiv10.o ABSOLUTE ../clib/division.c 0x00000000 Number 0 rtudiv10.o ABSOLUTE - ../clib/division.s 0x00000000 Number 0 aeabi_sdiv_div0.o ABSOLUTE + ../clib/division.c 0x00000000 Number 0 lludiv10.o ABSOLUTE ../clib/division.s 0x00000000 Number 0 aeabi_sdiv.o ABSOLUTE + ../clib/division.s 0x00000000 Number 0 aeabi_sdiv_div0.o ABSOLUTE ../clib/heapalloc.c 0x00000000 Number 0 hrguard.o ABSOLUTE ../clib/heapaux.c 0x00000000 Number 0 heapauxi.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libshutdown.o ABSOLUTE - ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE ../clib/libinit.s 0x00000000 Number 0 libinit2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libshutdown2.o ABSOLUTE + ../clib/libinit.s 0x00000000 Number 0 libinit.o ABSOLUTE ../clib/locale.c 0x00000000 Number 0 _wcrtomb.o ABSOLUTE ../clib/locale.s 0x00000000 Number 0 lc_numeric_c.o ABSOLUTE ../clib/locale.s 0x00000000 Number 0 lc_ctype_c.o ABSOLUTE - ../clib/memcpset.c 0x00000000 Number 0 rt_memcpy.o ABSOLUTE + ../clib/memcpset.c 0x00000000 Number 0 aeabi_memset.o ABSOLUTE ../clib/memcpset.c 0x00000000 Number 0 rt_memclr.o ABSOLUTE ../clib/memcpset.c 0x00000000 Number 0 rt_memcpy.o ABSOLUTE - ../clib/memcpset.c 0x00000000 Number 0 aeabi_memset.o ABSOLUTE + ../clib/memcpset.c 0x00000000 Number 0 rt_memcpy.o ABSOLUTE ../clib/misc.s 0x00000000 Number 0 printf_stubs.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_fp_dec.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_fp_hex.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_wchar.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_wctomb.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __2printf.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 noretval__2printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_wchar.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_str.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_fp_hex.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_fp_dec.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_dec.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_charcount.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_fp_infnan.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_int.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_hex_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_pad.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_charcount.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_char_file.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_wctomb.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_truncate.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_longlong_dec.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_oct_ll.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE - ../clib/printf.c 0x00000000 Number 0 _printf_oct_int_ll.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_pad.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 printf.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_wp.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_flags_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_ss.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_oct_ll.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 __printf_flags.o ABSOLUTE ../clib/printf.c 0x00000000 Number 0 _printf_oct_int.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_oct_int_ll.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ll_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_intcommon.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 __printf_nopercent.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_fp_infnan.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_longlong_dec.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_char_common.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_ll_ptr.o ABSOLUTE + ../clib/printf.c 0x00000000 Number 0 _printf_hex_int_ptr.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_i.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_f.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_e.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_g.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_a.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_lli.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llx.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llo.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_ls.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_lc.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_lld.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llu.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_l.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_ll.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_llu.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_lld.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent_end.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_a.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_g.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_e.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_f.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_i.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_o.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_p.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_n.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_c.o ABSOLUTE - ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE ../clib/printf_percent.s 0x00000000 Number 0 _printf_u.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_lc.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_ls.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llo.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_s.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_x.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_llx.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_percent.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_c.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_d.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_p.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_o.o ABSOLUTE + ../clib/printf_percent.s 0x00000000 Number 0 _printf_n.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_fpe_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_segv_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_other.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_exit.o ABSOLUTE + ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_fpe_formal.o ABSOLUTE ../clib/signal.c 0x00000000 Number 0 defsig_fpe_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_outer.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_general.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtmem_formal.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 __raise.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_abrt_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_rtred_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_stak_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_pvfn_inner.o ABSOLUTE - ../clib/signal.c 0x00000000 Number 0 defsig_cppl_inner.o ABSOLUTE ../clib/signal.s 0x00000000 Number 0 defsig.o ABSOLUTE - ../clib/stdlib.c 0x00000000 Number 0 rand.o ABSOLUTE - ../clib/stdlib.c 0x00000000 Number 0 rand.o ABSOLUTE ../clib/stdlib.c 0x00000000 Number 0 exit.o ABSOLUTE + ../clib/stdlib.c 0x00000000 Number 0 rand.o ABSOLUTE + ../clib/stdlib.c 0x00000000 Number 0 rand.o ABSOLUTE ../clib/string.c 0x00000000 Number 0 strcmp.o ABSOLUTE - ../clib/unhosted.c 0x00000000 Number 0 uread4.o ABSOLUTE ../clib/unhosted.c 0x00000000 Number 0 uwrite4.o ABSOLUTE + ../clib/unhosted.c 0x00000000 Number 0 uread4.o ABSOLUTE ../fplib/cfplib/daddsub.c 0x00000000 Number 0 daddsub.o ABSOLUTE ../fplib/cfplib/dmul.c 0x00000000 Number 0 dmul.o ABSOLUTE ../fplib/cfplib/fdiv.c 0x00000000 Number 0 fdiv.o ABSOLUTE - ../fplib/cfplib/ffix.c 0x00000000 Number 0 dfixui.o ABSOLUTE ../fplib/cfplib/ffix.c 0x00000000 Number 0 ffixui.o ABSOLUTE - ../fplib/cfplib/fflt.c 0x00000000 Number 0 fflti.o ABSOLUTE + ../fplib/cfplib/ffix.c 0x00000000 Number 0 dfixui.o ABSOLUTE ../fplib/cfplib/fflt.c 0x00000000 Number 0 dflti.o ABSOLUTE + ../fplib/cfplib/fflt.c 0x00000000 Number 0 fflti.o ABSOLUTE ../fplib/cfplib/fpinit.c 0x00000000 Number 0 fpinit.o ABSOLUTE ../fplib/cfplib/ieee_status.c 0x00000000 Number 0 ieee_status.o ABSOLUTE ../fplib/cfplib/scalbn.c 0x00000000 Number 0 fscalbn.o ABSOLUTE @@ -2379,109 +2383,101 @@ Image Symbol Table .data 0x10004514 Section 36 xc_drv_rtc.o(.data) calibration_flag 0x10004514 Data 1 xc_drv_rtc.o(.data) .data 0x10004538 Section 16 timer.o(.data) - .data 0x10004548 Section 224 timeslice.o(.data) - .data 0x10004628 Section 4 rgblight.o(.data) - .data 0x1000462c Section 68 mode.o(.data) - breathespeed_flag 0x10004632 Data 1 mode.o(.data) - mode_entry_initialized 0x10004633 Data 1 mode.o(.data) - .data 0x10004670 Section 96 rf433.o(.data) - power 0x10004674 Data 1 rf433.o(.data) - ssse 0x10004675 Data 1 rf433.o(.data) - pair_candidate_valid 0x10004677 Data 1 rf433.o(.data) - pair_alternate_count 0x10004678 Data 1 rf433.o(.data) - pair_frame_silence_ticks 0x10004679 Data 1 rf433.o(.data) - pairing_feedback_active 0x1000467a Data 1 rf433.o(.data) - pairing_feedback_on 0x1000467b Data 1 rf433.o(.data) - pairing_feedback_transitions 0x1000467c Data 1 rf433.o(.data) - pair_deferred_command 0x1000467d Data 1 rf433.o(.data) - pair_deferred_res_data 0x1000467e Data 1 rf433.o(.data) - pair_command_replay 0x1000467f Data 1 rf433.o(.data) - app_pairing_requested 0x10004680 Data 1 rf433.o(.data) - rf433_mode_last_key 0x10004681 Data 1 rf433.o(.data) - rf433_mode_action_valid 0x10004682 Data 1 rf433.o(.data) - long_time 0x10004686 Data 2 rf433.o(.data) - time_300ms 0x10004688 Data 2 rf433.o(.data) - rf_frame_sequence 0x1000468c Data 2 rf433.o(.data) - pair_last_frame_sequence 0x1000468e Data 2 rf433.o(.data) - pairing_feedback_elapsed_ms 0x10004690 Data 2 rf433.o(.data) - pairing_feedback_interval_ms 0x10004692 Data 2 rf433.o(.data) - pair_candidate_data 0x100046a8 Data 4 rf433.o(.data) - pair_alternate_data 0x100046ac Data 4 rf433.o(.data) - pair_deferred_receive_data 0x100046b0 Data 4 rf433.o(.data) - rf433_sample_ticks 0x100046b4 Data 4 rf433.o(.data) - rf433_mode_last_action_tick 0x100046b8 Data 4 rf433.o(.data) - .data 0x100046d0 Section 4 rf433.o(.data) - .data 0x100046d4 Section 1 rf433.o(.data) - .data 0x100046d8 Section 16 pwm.o(.data) - .data 0x100046e8 Section 56 bridge_pwm.o(.data) - active_state 0x100046e8 Data 1 bridge_pwm.o(.data) - output_mode 0x100046e9 Data 1 bridge_pwm.o(.data) - timer_stage 0x100046ea Data 1 bridge_pwm.o(.data) - flash_blank_state 0x100046eb Data 1 bridge_pwm.o(.data) - pending_single_state 0x100046ec Data 1 bridge_pwm.o(.data) - next_pdm_enabled 0x100046ed Data 1 bridge_pwm.o(.data) - frame_pdm_enabled 0x100046ee Data 1 bridge_pwm.o(.data) - frame_w_emit 0x100046ef Data 1 bridge_pwm.o(.data) - frame_c_emit 0x100046f0 Data 1 bridge_pwm.o(.data) - bridge_ready 0x100046f1 Data 1 bridge_pwm.o(.data) - cached_w_mix 0x100046f2 Data 2 bridge_pwm.o(.data) - cached_c_mix 0x100046f4 Data 2 bridge_pwm.o(.data) - pending_single_duty 0x100046f6 Data 2 bridge_pwm.o(.data) - frame_w_us 0x100046f8 Data 2 bridge_pwm.o(.data) - frame_c_us 0x100046fa Data 2 bridge_pwm.o(.data) - frame_wc_off_us 0x100046fc Data 2 bridge_pwm.o(.data) - frame_cw_off_us 0x100046fe Data 2 bridge_pwm.o(.data) - next_w_us 0x10004700 Data 2 bridge_pwm.o(.data) - next_c_us 0x10004702 Data 2 bridge_pwm.o(.data) - next_wc_off_us 0x10004704 Data 2 bridge_pwm.o(.data) - next_cw_off_us 0x10004706 Data 2 bridge_pwm.o(.data) - next_pdm_w_step 0x10004708 Data 4 bridge_pwm.o(.data) - next_pdm_c_step 0x1000470c Data 4 bridge_pwm.o(.data) - next_pdm_threshold 0x10004710 Data 4 bridge_pwm.o(.data) - pdm_w_accumulator 0x10004714 Data 4 bridge_pwm.o(.data) - pdm_c_accumulator 0x10004718 Data 4 bridge_pwm.o(.data) - frame_pdm_threshold 0x1000471c Data 4 bridge_pwm.o(.data) - .data 0x10004720 Section 28 light_transition.o(.data) - power_fade_direction 0x10004722 Data 1 light_transition.o(.data) - transition_sync_pending 0x10004723 Data 1 light_transition.o(.data) - mode_transition_tick 0x10004724 Data 1 light_transition.o(.data) - mode_transition_total_ticks 0x10004725 Data 1 light_transition.o(.data) - mode_transition_gamma_curve 0x10004726 Data 1 light_transition.o(.data) - feedback_active 0x10004727 Data 1 light_transition.o(.data) - feedback_on 0x10004728 Data 1 light_transition.o(.data) - current_brightness_q12 0x1000472a Data 2 light_transition.o(.data) - power_fade_progress_q12 0x1000472c Data 2 light_transition.o(.data) - power_fade_remainder 0x1000472e Data 2 light_transition.o(.data) - mode_transition_start_w 0x10004730 Data 2 light_transition.o(.data) - mode_transition_start_c 0x10004732 Data 2 light_transition.o(.data) - .data 0x1000473c Section 10 external_key.o(.data) - ext_key_state 0x1000473c Data 1 external_key.o(.data) - ext_key_direction_up 0x1000473d Data 1 external_key.o(.data) - ext_key_adjust_speed 0x1000473e Data 1 external_key.o(.data) - ext_key_clear_triggered 0x1000473f Data 1 external_key.o(.data) - ext_key_press_ticks 0x10004740 Data 2 external_key.o(.data) - ext_key_wait_ticks 0x10004742 Data 2 external_key.o(.data) - ext_key_step_ticks 0x10004744 Data 2 external_key.o(.data) - .data 0x10004746 Section 2 fmc_spi.o(.data) - power_cycle_next_mode 0x10004747 Data 1 fmc_spi.o(.data) - .bss 0x10004748 Section 528 ota_flash_interface.o(.bss) - .bss 0x10004958 Section 276 ota_protocol.o(.bss) - fotas_write_env 0x10004958 Data 276 ota_protocol.o(.bss) - .bss 0x10004a6c Section 28 xc_drv_dma.o(.bss) - .bss 0x10004a88 Section 16 xc_drv_clock.o(.bss) - .bss 0x10004a98 Section 64 xc_drv_adc.o(.bss) - adc_value 0x10004a98 Data 64 xc_drv_adc.o(.bss) - .bss 0x10004ad8 Section 25 rgblight.o(.bss) - .bss 0x10004af4 Section 28 rf433_decoder.o(.bss) - s_dec 0x10004af4 Data 28 rf433_decoder.o(.bss) - .bss 0x10004b10 Section 256 fmc_spi.o(.bss) - .bss 0x10004c10 Section 228 rand.o(.bss) - .bss 0x10004cf4 Section 96 libspace.o(.bss) - HEAP 0x10004d58 Section 256 startup_xinc.o(HEAP) - Heap_Mem 0x10004d58 Data 255 startup_xinc.o(HEAP) - STACK 0x10004e58 Section 2048 startup_xinc.o(STACK) - Stack_Mem 0x10004e58 Data 2048 startup_xinc.o(STACK) - __initial_sp 0x10005658 Data 0 startup_xinc.o(STACK) + .data 0x10004548 Section 208 timeslice.o(.data) + .data 0x10004618 Section 4 rgblight.o(.data) + .data 0x1000461c Section 68 mode.o(.data) + breathespeed_flag 0x10004622 Data 1 mode.o(.data) + mode_entry_initialized 0x10004623 Data 1 mode.o(.data) + .data 0x10004660 Section 96 rf433.o(.data) + power 0x10004664 Data 1 rf433.o(.data) + ssse 0x10004665 Data 1 rf433.o(.data) + pair_candidate_valid 0x10004667 Data 1 rf433.o(.data) + pair_alternate_count 0x10004668 Data 1 rf433.o(.data) + pair_frame_silence_ticks 0x10004669 Data 1 rf433.o(.data) + pairing_feedback_active 0x1000466a Data 1 rf433.o(.data) + pairing_feedback_on 0x1000466b Data 1 rf433.o(.data) + pairing_feedback_transitions 0x1000466c Data 1 rf433.o(.data) + pair_deferred_command 0x1000466d Data 1 rf433.o(.data) + pair_deferred_res_data 0x1000466e Data 1 rf433.o(.data) + pair_command_replay 0x1000466f Data 1 rf433.o(.data) + app_pairing_requested 0x10004670 Data 1 rf433.o(.data) + rf433_mode_last_key 0x10004671 Data 1 rf433.o(.data) + rf433_mode_action_valid 0x10004672 Data 1 rf433.o(.data) + long_time 0x10004676 Data 2 rf433.o(.data) + time_300ms 0x10004678 Data 2 rf433.o(.data) + rf_frame_sequence 0x1000467c Data 2 rf433.o(.data) + pair_last_frame_sequence 0x1000467e Data 2 rf433.o(.data) + pairing_feedback_elapsed_ms 0x10004680 Data 2 rf433.o(.data) + pairing_feedback_interval_ms 0x10004682 Data 2 rf433.o(.data) + pair_candidate_data 0x10004698 Data 4 rf433.o(.data) + pair_alternate_data 0x1000469c Data 4 rf433.o(.data) + pair_deferred_receive_data 0x100046a0 Data 4 rf433.o(.data) + rf433_sample_ticks 0x100046a4 Data 4 rf433.o(.data) + rf433_mode_last_action_tick 0x100046a8 Data 4 rf433.o(.data) + .data 0x100046c0 Section 4 rf433.o(.data) + .data 0x100046c4 Section 1 rf433.o(.data) + .data 0x100046c8 Section 16 pwm.o(.data) + .data 0x100046d8 Section 56 bridge_pwm.o(.data) + active_state 0x100046d8 Data 1 bridge_pwm.o(.data) + output_mode 0x100046d9 Data 1 bridge_pwm.o(.data) + timer_stage 0x100046da Data 1 bridge_pwm.o(.data) + flash_blank_state 0x100046db Data 1 bridge_pwm.o(.data) + pending_single_state 0x100046dc Data 1 bridge_pwm.o(.data) + next_pdm_enabled 0x100046dd Data 1 bridge_pwm.o(.data) + frame_pdm_enabled 0x100046de Data 1 bridge_pwm.o(.data) + frame_w_emit 0x100046df Data 1 bridge_pwm.o(.data) + frame_c_emit 0x100046e0 Data 1 bridge_pwm.o(.data) + bridge_ready 0x100046e1 Data 1 bridge_pwm.o(.data) + cached_w_mix 0x100046e2 Data 2 bridge_pwm.o(.data) + cached_c_mix 0x100046e4 Data 2 bridge_pwm.o(.data) + pending_single_duty 0x100046e6 Data 2 bridge_pwm.o(.data) + frame_w_us 0x100046e8 Data 2 bridge_pwm.o(.data) + frame_c_us 0x100046ea Data 2 bridge_pwm.o(.data) + frame_wc_off_us 0x100046ec Data 2 bridge_pwm.o(.data) + frame_cw_off_us 0x100046ee Data 2 bridge_pwm.o(.data) + next_w_us 0x100046f0 Data 2 bridge_pwm.o(.data) + next_c_us 0x100046f2 Data 2 bridge_pwm.o(.data) + next_wc_off_us 0x100046f4 Data 2 bridge_pwm.o(.data) + next_cw_off_us 0x100046f6 Data 2 bridge_pwm.o(.data) + next_pdm_w_step 0x100046f8 Data 4 bridge_pwm.o(.data) + next_pdm_c_step 0x100046fc Data 4 bridge_pwm.o(.data) + next_pdm_threshold 0x10004700 Data 4 bridge_pwm.o(.data) + pdm_w_accumulator 0x10004704 Data 4 bridge_pwm.o(.data) + pdm_c_accumulator 0x10004708 Data 4 bridge_pwm.o(.data) + frame_pdm_threshold 0x1000470c Data 4 bridge_pwm.o(.data) + .data 0x10004710 Section 28 light_transition.o(.data) + power_fade_direction 0x10004712 Data 1 light_transition.o(.data) + transition_sync_pending 0x10004713 Data 1 light_transition.o(.data) + mode_transition_tick 0x10004714 Data 1 light_transition.o(.data) + mode_transition_total_ticks 0x10004715 Data 1 light_transition.o(.data) + mode_transition_gamma_curve 0x10004716 Data 1 light_transition.o(.data) + feedback_active 0x10004717 Data 1 light_transition.o(.data) + feedback_on 0x10004718 Data 1 light_transition.o(.data) + current_brightness_q12 0x1000471a Data 2 light_transition.o(.data) + power_fade_progress_q12 0x1000471c Data 2 light_transition.o(.data) + power_fade_remainder 0x1000471e Data 2 light_transition.o(.data) + mode_transition_start_w 0x10004720 Data 2 light_transition.o(.data) + mode_transition_start_c 0x10004722 Data 2 light_transition.o(.data) + .data 0x1000472c Section 2 fmc_spi.o(.data) + power_cycle_next_mode 0x1000472d Data 1 fmc_spi.o(.data) + .bss 0x10004730 Section 528 ota_flash_interface.o(.bss) + .bss 0x10004940 Section 276 ota_protocol.o(.bss) + fotas_write_env 0x10004940 Data 276 ota_protocol.o(.bss) + .bss 0x10004a54 Section 28 xc_drv_dma.o(.bss) + .bss 0x10004a70 Section 16 xc_drv_clock.o(.bss) + .bss 0x10004a80 Section 64 xc_drv_adc.o(.bss) + adc_value 0x10004a80 Data 64 xc_drv_adc.o(.bss) + .bss 0x10004ac0 Section 25 rgblight.o(.bss) + .bss 0x10004adc Section 28 rf433_decoder.o(.bss) + s_dec 0x10004adc Data 28 rf433_decoder.o(.bss) + .bss 0x10004af8 Section 256 fmc_spi.o(.bss) + .bss 0x10004bf8 Section 228 rand.o(.bss) + .bss 0x10004cdc Section 96 libspace.o(.bss) + HEAP 0x10004d40 Section 256 startup_xinc.o(HEAP) + Heap_Mem 0x10004d40 Data 255 startup_xinc.o(HEAP) + STACK 0x10004e40 Section 2048 startup_xinc.o(STACK) + Stack_Mem 0x10004e40 Data 2048 startup_xinc.o(STACK) + __initial_sp 0x10005640 Data 0 startup_xinc.o(STACK) RESET 0x11011000 Section 192 startup_xinc.o(RESET) !!!main 0x110110c0 Section 8 __main.o(!!!main) !!!scatter 0x110110c8 Section 60 __scatter.o(!!!scatter) @@ -2676,20 +2672,20 @@ Image Symbol Table i.app_create_scan 0x11014018 Section 0 app_task.o(i.app_create_scan) i.app_delete_advertising 0x11014054 Section 0 app_task.o(i.app_delete_advertising) i.app_get_dev_name 0x1101409c Section 0 app_task.o(i.app_get_dev_name) - i.app_init 0x110140c4 Section 0 app_task.o(i.app_init) - i.app_mode_switch_handler 0x110140ec Section 0 app_task.o(i.app_mode_switch_handler) - app_mode_switch_handler 0x110140ed Thumb Code 30 app_task.o(i.app_mode_switch_handler) - i.app_msg_handler 0x11014120 Section 0 app_task.o(i.app_msg_handler) - app_msg_handler 0x11014121 Thumb Code 46 app_task.o(i.app_msg_handler) - i.app_op_flash 0x11014150 Section 0 ota_flash_interface.o(i.app_op_flash) - i.app_op_flash_on 0x1101418c Section 0 ota_flash_interface.o(i.app_op_flash_on) - i.app_scan_start_handler 0x110141a4 Section 0 app_task.o(i.app_scan_start_handler) - app_scan_start_handler 0x110141a5 Thumb Code 34 app_task.o(i.app_scan_start_handler) - i.app_scan_stop_handler 0x110141ec Section 0 app_task.o(i.app_scan_stop_handler) - app_scan_stop_handler 0x110141ed Thumb Code 34 app_task.o(i.app_scan_stop_handler) - i.app_second_adv_start_handler 0x11014230 Section 0 app_task.o(i.app_second_adv_start_handler) - app_second_adv_start_handler 0x11014231 Thumb Code 22 app_task.o(i.app_second_adv_start_handler) - i.app_set_adv_data 0x11014260 Section 0 app_task.o(i.app_set_adv_data) + i.app_init 0x110140c0 Section 0 app_task.o(i.app_init) + i.app_mode_switch_handler 0x110140e8 Section 0 app_task.o(i.app_mode_switch_handler) + app_mode_switch_handler 0x110140e9 Thumb Code 30 app_task.o(i.app_mode_switch_handler) + i.app_msg_handler 0x1101411c Section 0 app_task.o(i.app_msg_handler) + app_msg_handler 0x1101411d Thumb Code 46 app_task.o(i.app_msg_handler) + i.app_op_flash 0x1101414c Section 0 ota_flash_interface.o(i.app_op_flash) + i.app_op_flash_on 0x11014188 Section 0 ota_flash_interface.o(i.app_op_flash_on) + i.app_scan_start_handler 0x110141a0 Section 0 app_task.o(i.app_scan_start_handler) + app_scan_start_handler 0x110141a1 Thumb Code 34 app_task.o(i.app_scan_start_handler) + i.app_scan_stop_handler 0x110141e8 Section 0 app_task.o(i.app_scan_stop_handler) + app_scan_stop_handler 0x110141e9 Thumb Code 34 app_task.o(i.app_scan_stop_handler) + i.app_second_adv_start_handler 0x1101422c Section 0 app_task.o(i.app_second_adv_start_handler) + app_second_adv_start_handler 0x1101422d Thumb Code 22 app_task.o(i.app_second_adv_start_handler) + i.app_set_adv_data 0x1101425c Section 0 app_task.o(i.app_set_adv_data) i.app_start_advertising 0x110142c8 Section 0 app_task.o(i.app_start_advertising) i.app_start_scan 0x11014340 Section 0 app_task.o(i.app_start_scan) i.app_stop_scanning 0x110143a8 Section 0 app_task.o(i.app_stop_scanning) @@ -2729,232 +2725,224 @@ Image Symbol Table i.delay_ms_test 0x11014c80 Section 0 rf_extrc.o(i.delay_ms_test) i.effect_gamma_output 0x11014c98 Section 0 light_transition.o(i.effect_gamma_output) effect_gamma_output 0x11014c99 Thumb Code 36 light_transition.o(i.effect_gamma_output) - i.external_key_adjust_step 0x11014cc0 Section 0 external_key.o(i.external_key_adjust_step) - external_key_adjust_step 0x11014cc1 Thumb Code 82 external_key.o(i.external_key_adjust_step) - i.external_key_init 0x11014d24 Section 0 external_key.o(i.external_key_init) - i.external_key_long_start 0x11014d44 Section 0 external_key.o(i.external_key_long_start) - external_key_long_start 0x11014d45 Thumb Code 30 external_key.o(i.external_key_long_start) - i.external_key_save_later 0x11014d6c Section 0 external_key.o(i.external_key_save_later) - external_key_save_later 0x11014d6d Thumb Code 14 external_key.o(i.external_key_save_later) - i.external_key_scan 0x11014d7c Section 0 external_key.o(i.external_key_scan) - i.extract32_16 0x11014ec8 Section 0 xc_drv_fmc_spi.o(i.extract32_16) - i.ferror 0x11014ed6 Section 0 system_xinc.o(i.ferror) - i.flash_init 0x11014edc Section 0 arch_main.o(i.flash_init) - i.flash_size_and_type_get 0x11014f30 Section 0 xc_drv_fmc_spi.o(i.flash_size_and_type_get) - i.fmc_spi_read 0x11014f88 Section 0 fmc_spi.o(i.fmc_spi_read) - i.gapc_callback 0x11014fb4 Section 0 app_task.o(i.gapc_callback) - gapc_callback 0x11014fb5 Thumb Code 380 app_task.o(i.gapc_callback) - i.gapc_get_device_info_req_ind 0x11015348 Section 0 app_task.o(i.gapc_get_device_info_req_ind) - gapc_get_device_info_req_ind 0x11015349 Thumb Code 104 app_task.o(i.gapc_get_device_info_req_ind) - i.gapm_callback 0x110153b0 Section 0 app_task.o(i.gapm_callback) - gapm_callback 0x110153b1 Thumb Code 182 app_task.o(i.gapm_callback) - i.gapm_cmp_evt 0x11015508 Section 0 app_task.o(i.gapm_cmp_evt) - gapm_cmp_evt 0x11015509 Thumb Code 162 app_task.o(i.gapm_cmp_evt) - i.get_app_env 0x110155ec Section 0 app_task.o(i.get_app_env) - i.get_checksum 0x110155f4 Section 0 fmc_spi.o(i.get_checksum) - i.gpio_intr_callback 0x11015610 Section 0 xc_drv_gpio.o(i.gpio_intr_callback) - i.interpolate_mode_output 0x11015614 Section 0 light_transition.o(i.interpolate_mode_output) - interpolate_mode_output 0x11015615 Thumb Code 138 light_transition.o(i.interpolate_mode_output) - i.jump_fun 0x110156a8 Section 0 mode.o(i.jump_fun) - i.main 0x110156e4 Section 0 arch_main.o(i.main) - i.modem_init 0x11015748 Section 0 rf_extrc.o(i.modem_init) - i.neutral_breathe_fun 0x1101585c Section 0 mode.o(i.neutral_breathe_fun) - neutral_breathe_fun 0x1101585d Thumb Code 78 mode.o(i.neutral_breathe_fun) - i.ota_slave_send_data 0x110158b8 Section 0 ota_server.o(i.ota_slave_send_data) - i.ota_srv_get_hdl_from_att_idx 0x11015954 Section 0 ota_server.o(i.ota_srv_get_hdl_from_att_idx) - i.ota_write_flash 0x11015964 Section 0 ota_protocol.o(i.ota_write_flash) - i.output_brightness_scale_for_level 0x110159a0 Section 0 light_transition.o(i.output_brightness_scale_for_level) - output_brightness_scale_for_level 0x110159a1 Thumb Code 66 light_transition.o(i.output_brightness_scale_for_level) - i.power_restore_apply_on_boot 0x110159f8 Section 0 fmc_spi.o(i.power_restore_apply_on_boot) - i.power_restore_policy_set 0x11015a78 Section 0 fmc_spi.o(i.power_restore_policy_set) - i.pwm_capture_ch0_callback 0x11015aa0 Section 0 xc_drv_pwm.o(i.pwm_capture_ch0_callback) - i.pwm_capture_ch1_callback 0x11015aa4 Section 0 xc_drv_pwm.o(i.pwm_capture_ch1_callback) - i.pwm_capture_ch2_callback 0x11015aa8 Section 0 xc_drv_pwm.o(i.pwm_capture_ch2_callback) - i.pwm_freq_to_period 0x11015aac Section 0 xc_drv_pwm.o(i.pwm_freq_to_period) - pwm_freq_to_period 0x11015aad Thumb Code 30 xc_drv_pwm.o(i.pwm_freq_to_period) - i.pwm_pin_set 0x11015aca Section 0 xc_drv_pwm.o(i.pwm_pin_set) - i.read_user_data 0x11015b68 Section 0 fmc_spi.o(i.read_user_data) - i.reverse_verif_is_true 0x11015ccc Section 0 xc_drv_fmc_spi.o(i.reverse_verif_is_true) - i.rf433_cancel_pairing 0x11015cdc Section 0 rf433.o(i.rf433_cancel_pairing) - i.rf433_clear_code 0x11015d10 Section 0 rf433.o(i.rf433_clear_code) - i.rf433_decode_bit 0x11015d68 Section 0 rf433_decoder.o(i.rf433_decode_bit) - rf433_decode_bit 0x11015d69 Thumb Code 64 rf433_decoder.o(i.rf433_decode_bit) - i.rf433_decoder_get_frame 0x11015dac Section 0 rf433_decoder.o(i.rf433_decoder_get_frame) - i.rf433_decoder_init 0x11015dd4 Section 0 rf433_decoder.o(i.rf433_decoder_init) - i.rf433_decoder_process 0x11015dec Section 0 rf433_decoder.o(i.rf433_decoder_process) - i.rf433_decoder_sample 0x11015df0 Section 0 rf433_decoder.o(i.rf433_decoder_sample) - i.rf433_gpio_init 0x11015e88 Section 0 rf433.o(i.rf433_gpio_init) - i.rf433_in_range 0x11015ea8 Section 0 rf433_decoder.o(i.rf433_in_range) - rf433_in_range 0x11015ea9 Thumb Code 16 rf433_decoder.o(i.rf433_in_range) - i.rf433_increment_saturated 0x11015eb8 Section 0 rf433_decoder.o(i.rf433_increment_saturated) - rf433_increment_saturated 0x11015eb9 Thumb Code 16 rf433_decoder.o(i.rf433_increment_saturated) - i.rf433_paired_count 0x11015ecc Section 0 rf433.o(i.rf433_paired_count) - i.rf433_receive 0x11015ef8 Section 0 rf433.o(i.rf433_receive) - i.rf433_start_pairing 0x11015f64 Section 0 rf433.o(i.rf433_start_pairing) - i.rf_force_agc_enable 0x11015fa8 Section 0 rf_extrc.o(i.rf_force_agc_enable) - rf_force_agc_enable 0x11015fa9 Thumb Code 2 rf_extrc.o(i.rf_force_agc_enable) - i.rf_init 0x11015fac Section 0 rf_extrc.o(i.rf_init) - i.rf_rccalib 0x11016100 Section 0 rf_extrc.o(i.rf_rccalib) - i.rf_reg_rd 0x11016220 Section 0 rf_extrc.o(i.rf_reg_rd) - rf_reg_rd 0x11016221 Thumb Code 4 rf_extrc.o(i.rf_reg_rd) - i.rf_reg_wr 0x11016224 Section 0 rf_extrc.o(i.rf_reg_wr) - rf_reg_wr 0x11016225 Thumb Code 2 rf_extrc.o(i.rf_reg_wr) - i.rf_reset 0x11016226 Section 0 rf_extrc.o(i.rf_reset) - rf_reset 0x11016227 Thumb Code 2 rf_extrc.o(i.rf_reset) - i.rf_sleep 0x11016228 Section 0 rf_extrc.o(i.rf_sleep) - rf_sleep 0x11016229 Thumb Code 18 rf_extrc.o(i.rf_sleep) - i.rf_txpwr_cs_get 0x1101623c Section 0 rf_extrc.o(i.rf_txpwr_cs_get) - rf_txpwr_cs_get 0x1101623d Thumb Code 70 rf_extrc.o(i.rf_txpwr_cs_get) - i.rf_txpwr_dbm_get 0x11016288 Section 0 rf_extrc.o(i.rf_txpwr_dbm_get) - rf_txpwr_dbm_get 0x11016289 Thumb Code 6 rf_extrc.o(i.rf_txpwr_dbm_get) - i.rom_env_host_init 0x11016294 Section 0 arch_main.o(i.rom_env_host_init) - i.scan_433 0x110162b4 Section 0 rf433.o(i.scan_433) - i.scan_uart 0x11016334 Section 0 uart_1.o(i.scan_uart) - i.set_TaskComps_timer 0x110164d0 Section 0 timeslice.o(i.set_TaskComps_timer) - i.set_mode 0x110164e0 Section 0 mode.o(i.set_mode) - i.set_vector 0x11016628 Section 0 system_xinc.o(i.set_vector) - i.slave_send_data 0x11016654 Section 0 usr_server.o(i.slave_send_data) - i.srv_get_hdl_from_att_idx 0x11016700 Section 0 usr_server.o(i.srv_get_hdl_from_att_idx) - i.stack_tag 0x11016710 Section 0 arch_main.o(i.stack_tag) - i.startTimer 0x11016724 Section 0 timer.o(i.startTimer) - i.systick_callback 0x1101672c Section 0 xc_drv_systick.o(i.systick_callback) - i.temperature 0x11016730 Section 0 pwm.o(i.temperature) - i.timer0_2_init 0x11016764 Section 0 timer.o(i.timer0_2_init) - i.uart_user_handler 0x110167f8 Section 0 xc_drv_uart.o(i.uart_user_handler) - i.updateTimer 0x110168a0 Section 0 timer.o(i.updateTimer) - i.update_power_fade 0x110168b8 Section 0 light_transition.o(i.update_power_fade) - update_power_fade 0x110168b9 Thumb Code 114 light_transition.o(i.update_power_fade) - i.wbit 0x11016930 Section 0 rf_extrc.o(i.wbit) - wbit 0x11016931 Thumb Code 84 rf_extrc.o(i.wbit) - i.wdt_init 0x11016988 Section 0 arch_main.o(i.wdt_init) - i.wright_user_data 0x110169a4 Section 0 fmc_spi.o(i.wright_user_data) - i.xc_adc_2v4_calibrate_read 0x11016aa4 Section 0 xc_drv_fmc_spi.o(i.xc_adc_2v4_calibrate_read) - i.xc_adc_data_average 0x11016b48 Section 0 xc_drv_adc.o(i.xc_adc_data_average) - i.xc_adc_fifo_flush 0x11016bc4 Section 0 xc_drv_adc.o(i.xc_adc_fifo_flush) - xc_adc_fifo_flush 0x11016bc5 Thumb Code 20 xc_drv_adc.o(i.xc_adc_fifo_flush) - i.xc_adc_init 0x11016bdc Section 0 xc_drv_adc.o(i.xc_adc_init) - i.xc_adc_start_get_value 0x11016cb8 Section 0 xc_drv_adc.o(i.xc_adc_start_get_value) - i.xc_ble_activity_delete 0x11016d84 Section 0 xc_gap_api.o(i.xc_ble_activity_delete) - i.xc_ble_activity_stop 0x11016dac Section 0 xc_gap_api.o(i.xc_ble_activity_stop) - i.xc_ble_advertise_create 0x11016dd4 Section 0 xc_gap_api.o(i.xc_ble_advertise_create) - i.xc_ble_advertise_start 0x11016dfc Section 0 xc_gap_api.o(i.xc_ble_advertise_start) - i.xc_ble_conn_cfm 0x11016e28 Section 0 xc_gap_api.o(i.xc_ble_conn_cfm) - i.xc_ble_gapm_reset 0x11016e54 Section 0 xc_gap_api.o(i.xc_ble_gapm_reset) - i.xc_ble_gatt_cli_mtu_exch 0x11016e70 Section 0 xc_gatt_client_api.o(i.xc_ble_gatt_cli_mtu_exch) - i.xc_ble_gatt_service16_add 0x11016e7a Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_service16_add) - i.xc_ble_gatt_srv_notify 0x11016e90 Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_srv_notify) - i.xc_ble_gatt_srv_read_cfm 0x11016eda Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_srv_read_cfm) - i.xc_ble_gatt_srv_write_cfm 0x11016f2c Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_srv_write_cfm) - i.xc_ble_gatt_user_srv_register 0x11016f34 Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_user_srv_register) - i.xc_ble_get_dev_info_cfm 0x11016f3c Section 0 xc_gap_api.o(i.xc_ble_get_dev_info_cfm) - i.xc_ble_param_update_cfm 0x11016f74 Section 0 xc_gap_api.o(i.xc_ble_param_update_cfm) - i.xc_ble_scan_create 0x11016fa8 Section 0 xc_gap_api.o(i.xc_ble_scan_create) - i.xc_ble_scan_start 0x11016fcc Section 0 xc_gap_api.o(i.xc_ble_scan_start) - i.xc_ble_set_adv_data 0x11016ff8 Section 0 xc_gap_api.o(i.xc_ble_set_adv_data) - i.xc_ble_set_dev_config 0x11017030 Section 0 xc_gap_api.o(i.xc_ble_set_dev_config) - i.xc_ble_set_dev_info_cfm 0x1101705c Section 0 xc_gap_api.o(i.xc_ble_set_dev_info_cfm) - i.xc_clock_bbpll_common_cfg 0x11017084 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) - i.xc_clock_bbpll_freq_cfg 0x110170c4 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) - i.xc_clock_hfclk_in_get 0x11017144 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_in_get) - i.xc_clock_hfclk_set 0x11017150 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_set) - i.xc_clock_init_cfg 0x11017214 Section 0 xc_drv_clock.o(i.xc_clock_init_cfg) - i.xc_clock_lfclk_in_get 0x11017230 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_in_get) - i.xc_clock_lfclk_set 0x1101723c Section 0 xc_drv_clock.o(i.xc_clock_lfclk_set) - i.xc_clock_set_osc32m_bbpll_32m 0x110172a8 Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_32m) - i.xc_clock_set_osc32m_bbpll_48m 0x110172dc Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_48m) - i.xc_clock_set_osc32m_bbpll_64m 0x11017310 Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_64m) - i.xc_clock_set_osc32m_bbpll_96m 0x11017344 Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_96m) - i.xc_clock_set_osc32m_div_16m 0x11017378 Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_div_16m) - i.xc_clock_set_rc16m 0x110173d4 Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m) - i.xc_clock_set_rc16m_bbpll_32m 0x110173f4 Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_32m) - i.xc_clock_set_rc16m_bbpll_48m 0x11017428 Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_48m) - i.xc_clock_set_rc16m_bbpll_64m 0x1101745c Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_64m) - i.xc_clock_set_rc16m_bbpll_96m 0x11017490 Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_96m) - i.xc_fota_dev_ack_cmd 0x110174c4 Section 0 ota_protocol.o(i.xc_fota_dev_ack_cmd) - i.xc_gpio_direction_config 0x110174ec Section 0 xc_drv_gpio.o(i.xc_gpio_direction_config) - i.xc_gpio_fun_sel 0x11017508 Section 0 xc_drv_gpio.o(i.xc_gpio_fun_sel) - i.xc_gpio_init 0x11017530 Section 0 xc_drv_gpio.o(i.xc_gpio_init) - i.xc_gpio_it_config 0x11017560 Section 0 xc_drv_gpio.o(i.xc_gpio_it_config) - i.xc_gpio_mux_ctl 0x11017594 Section 0 xc_drv_gpio.o(i.xc_gpio_mux_ctl) - i.xc_gpio_pull_config 0x110175e0 Section 0 xc_drv_gpio.o(i.xc_gpio_pull_config) - i.xc_gpio_read_pin 0x110176c8 Section 0 xc_drv_gpio.o(i.xc_gpio_read_pin) - i.xc_gpio_write_pin 0x110176ec Section 0 xc_drv_gpio.o(i.xc_gpio_write_pin) - i.xc_ota_schedule 0x11017708 Section 0 ota_protocol.o(i.xc_ota_schedule) - i.xc_pwm_dutycycle_set 0x11017748 Section 0 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) - i.xc_pwm_init 0x11017794 Section 0 xc_drv_pwm.o(i.xc_pwm_init) - i.xc_pwm_start 0x11017874 Section 0 xc_drv_pwm.o(i.xc_pwm_start) - i.xc_pwm_stop 0x11017894 Section 0 xc_drv_pwm.o(i.xc_pwm_stop) - i.xc_pwr_vol_set 0x110178b0 Section 0 xc_drv_pwr.o(i.xc_pwr_vol_set) - i.xc_timer_init 0x11017904 Section 0 xc_drv_timer.o(i.xc_timer_init) - i.xc_timer_set_value 0x11017a24 Section 0 xc_drv_timer.o(i.xc_timer_set_value) - i.xc_timer_start 0x11017a4c Section 0 xc_drv_timer.o(i.xc_timer_start) - i.xc_timer_stop 0x11017a88 Section 0 xc_drv_timer.o(i.xc_timer_stop) - i.xc_timer_us_to_ticks 0x11017aa4 Section 0 xc_drv_timer.o(i.xc_timer_us_to_ticks) - xc_timer_us_to_ticks 0x11017aa5 Thumb Code 188 xc_drv_timer.o(i.xc_timer_us_to_ticks) - i.xc_uart_init 0x11017b70 Section 0 xc_drv_uart.o(i.xc_uart_init) - i.xc_unique_identification_read 0x11017d3c Section 0 xc_drv_fmc_spi.o(i.xc_unique_identification_read) - i.xc_wdt_init 0x11017e24 Section 0 xc_drv_wdt.o(i.xc_wdt_init) - i.xc_wdt_refresh 0x11017e94 Section 0 xc_drv_wdt.o(i.xc_wdt_refresh) - i.xc_wdt_reload 0x11017ec0 Section 0 xc_drv_wdt.o(i.xc_wdt_reload) - i.xc_wdt_start 0x11017ef8 Section 0 xc_drv_wdt.o(i.xc_wdt_start) - locale$$code 0x11017f2c Section 44 lc_numeric_c.o(locale$$code) - locale$$code 0x11017f58 Section 44 lc_ctype_c.o(locale$$code) - x$fpl$printf1 0x11017f84 Section 16 printf1.o(x$fpl$printf1) - x$fpl$printf2 0x11017f94 Section 16 printf2.o(x$fpl$printf2) - .constdata 0x11017fa4 Section 40 app_task.o(.constdata) - x$fpl$usenofp 0x11017fa4 Section 0 usenofp.o(x$fpl$usenofp) - .constdata 0x11017fcc Section 88 app_task.o(.constdata) - __func__ 0x11017fd8 Data 32 app_task.o(.constdata) - .constdata 0x11018024 Section 124 usr_server.o(.constdata) - custom_server_atts 0x11018028 Data 48 usr_server.o(.constdata) - custom_src_cb 0x11018058 Data 20 usr_server.o(.constdata) - __func__ 0x1101806c Data 25 usr_server.o(.constdata) - __func__ 0x11018085 Data 27 usr_server.o(.constdata) - .constdata 0x110180a0 Section 12 xc_drv_pwm.o(.constdata) - pwm_offset 0x110180a0 Data 12 xc_drv_pwm.o(.constdata) - .constdata 0x110180ac Section 8 rf_extrc.o(.constdata) - RF_TX_PW_CONV_TBL 0x110180ac Data 8 rf_extrc.o(.constdata) - .constdata 0x110180b4 Section 4 xc_drv_timer.o(.constdata) - timer_offset 0x110180b4 Data 4 xc_drv_timer.o(.constdata) - .constdata 0x110180b8 Section 6 xc_drv_uart.o(.constdata) - uart_offset 0x110180b8 Data 6 xc_drv_uart.o(.constdata) - .constdata 0x110180be Section 2 xc_drv_aotimer.o(.constdata) - aotimer_offset 0x110180be Data 2 xc_drv_aotimer.o(.constdata) - .constdata 0x110180c0 Section 22 mode.o(.constdata) - time_1_neutral 0x110180c0 Data 22 mode.o(.constdata) - .constdata 0x110180d6 Section 4 bridge_pwm.o(.constdata) - timer_offset 0x110180d6 Data 4 bridge_pwm.o(.constdata) - .constdata 0x110180da Section 804 light_transition.o(.constdata) - brightness_gamma_q12 0x110180da Data 200 light_transition.o(.constdata) - mixed_brightness_gamma_q12 0x110181a2 Data 200 light_transition.o(.constdata) - power_fade_gamma_q12 0x1101826a Data 202 light_transition.o(.constdata) - transition_gamma_s_q12 0x11018334 Data 202 light_transition.o(.constdata) - .constdata 0x110183fe Section 40 _printf_hex_int_ll_ptr.o(.constdata) - uc_hextab 0x110183fe Data 20 _printf_hex_int_ll_ptr.o(.constdata) - lc_hextab 0x11018412 Data 20 _printf_hex_int_ll_ptr.o(.constdata) - .constdata 0x11018426 Section 17 __printf_flags_ss_wp.o(.constdata) - maptable 0x11018426 Data 17 __printf_flags_ss_wp.o(.constdata) - .constdata 0x11018438 Section 8 _printf_wctomb.o(.constdata) - initial_mbstate 0x11018438 Data 8 _printf_wctomb.o(.constdata) - .constdata 0x11018440 Section 38 _printf_fp_hex.o(.constdata) - lc_hextab 0x11018440 Data 19 _printf_fp_hex.o(.constdata) - uc_hextab 0x11018453 Data 19 _printf_fp_hex.o(.constdata) - .constdata 0x11018468 Section 148 bigflt0.o(.constdata) - tenpwrs_x 0x11018468 Data 60 bigflt0.o(.constdata) - tenpwrs_i 0x110184a4 Data 64 bigflt0.o(.constdata) - .conststring 0x110184fc Section 207 app_task.o(.conststring) - .conststring 0x110185cc Section 74 usr_server.o(.conststring) - locale$$data 0x11018658 Section 28 lc_numeric_c.o(locale$$data) - __lcnum_c_name 0x1101865c Data 2 lc_numeric_c.o(locale$$data) - __lcnum_c_start 0x11018664 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_point 0x11018670 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_thousands 0x11018672 Data 0 lc_numeric_c.o(locale$$data) - __lcnum_c_grouping 0x11018673 Data 0 lc_numeric_c.o(locale$$data) - locale$$data 0x11018674 Section 272 lc_ctype_c.o(locale$$data) - __lcnum_c_end 0x11018674 Data 0 lc_numeric_c.o(locale$$data) - __lcctype_c_name 0x11018678 Data 2 lc_ctype_c.o(locale$$data) - __lcctype_c_start 0x11018680 Data 0 lc_ctype_c.o(locale$$data) - __lcctype_c_end 0x11018784 Data 0 lc_ctype_c.o(locale$$data) + i.extract32_16 0x11014cc0 Section 0 xc_drv_fmc_spi.o(i.extract32_16) + i.ferror 0x11014cce Section 0 system_xinc.o(i.ferror) + i.flash_init 0x11014cd4 Section 0 arch_main.o(i.flash_init) + i.flash_size_and_type_get 0x11014d28 Section 0 xc_drv_fmc_spi.o(i.flash_size_and_type_get) + i.fmc_spi_read 0x11014d80 Section 0 fmc_spi.o(i.fmc_spi_read) + i.gapc_callback 0x11014dac Section 0 app_task.o(i.gapc_callback) + gapc_callback 0x11014dad Thumb Code 380 app_task.o(i.gapc_callback) + i.gapc_get_device_info_req_ind 0x11015140 Section 0 app_task.o(i.gapc_get_device_info_req_ind) + gapc_get_device_info_req_ind 0x11015141 Thumb Code 104 app_task.o(i.gapc_get_device_info_req_ind) + i.gapm_callback 0x110151a8 Section 0 app_task.o(i.gapm_callback) + gapm_callback 0x110151a9 Thumb Code 182 app_task.o(i.gapm_callback) + i.gapm_cmp_evt 0x11015300 Section 0 app_task.o(i.gapm_cmp_evt) + gapm_cmp_evt 0x11015301 Thumb Code 162 app_task.o(i.gapm_cmp_evt) + i.get_app_env 0x110153e4 Section 0 app_task.o(i.get_app_env) + i.get_checksum 0x110153ec Section 0 fmc_spi.o(i.get_checksum) + i.gpio_intr_callback 0x11015408 Section 0 xc_drv_gpio.o(i.gpio_intr_callback) + i.interpolate_mode_output 0x1101540c Section 0 light_transition.o(i.interpolate_mode_output) + interpolate_mode_output 0x1101540d Thumb Code 138 light_transition.o(i.interpolate_mode_output) + i.jump_fun 0x110154a0 Section 0 mode.o(i.jump_fun) + i.main 0x110154dc Section 0 arch_main.o(i.main) + i.modem_init 0x1101553c Section 0 rf_extrc.o(i.modem_init) + i.neutral_breathe_fun 0x11015650 Section 0 mode.o(i.neutral_breathe_fun) + neutral_breathe_fun 0x11015651 Thumb Code 78 mode.o(i.neutral_breathe_fun) + i.ota_slave_send_data 0x110156ac Section 0 ota_server.o(i.ota_slave_send_data) + i.ota_srv_get_hdl_from_att_idx 0x11015748 Section 0 ota_server.o(i.ota_srv_get_hdl_from_att_idx) + i.ota_write_flash 0x11015758 Section 0 ota_protocol.o(i.ota_write_flash) + i.output_brightness_scale_for_level 0x11015794 Section 0 light_transition.o(i.output_brightness_scale_for_level) + output_brightness_scale_for_level 0x11015795 Thumb Code 66 light_transition.o(i.output_brightness_scale_for_level) + i.power_restore_apply_on_boot 0x110157ec Section 0 fmc_spi.o(i.power_restore_apply_on_boot) + i.power_restore_policy_set 0x1101586c Section 0 fmc_spi.o(i.power_restore_policy_set) + i.pwm_capture_ch0_callback 0x11015894 Section 0 xc_drv_pwm.o(i.pwm_capture_ch0_callback) + i.pwm_capture_ch1_callback 0x11015898 Section 0 xc_drv_pwm.o(i.pwm_capture_ch1_callback) + i.pwm_capture_ch2_callback 0x1101589c Section 0 xc_drv_pwm.o(i.pwm_capture_ch2_callback) + i.pwm_freq_to_period 0x110158a0 Section 0 xc_drv_pwm.o(i.pwm_freq_to_period) + pwm_freq_to_period 0x110158a1 Thumb Code 30 xc_drv_pwm.o(i.pwm_freq_to_period) + i.pwm_pin_set 0x110158be Section 0 xc_drv_pwm.o(i.pwm_pin_set) + i.read_user_data 0x1101595c Section 0 fmc_spi.o(i.read_user_data) + i.reverse_verif_is_true 0x11015ac0 Section 0 xc_drv_fmc_spi.o(i.reverse_verif_is_true) + i.rf433_cancel_pairing 0x11015ad0 Section 0 rf433.o(i.rf433_cancel_pairing) + i.rf433_clear_code 0x11015b04 Section 0 rf433.o(i.rf433_clear_code) + i.rf433_decode_bit 0x11015b5c Section 0 rf433_decoder.o(i.rf433_decode_bit) + rf433_decode_bit 0x11015b5d Thumb Code 64 rf433_decoder.o(i.rf433_decode_bit) + i.rf433_decoder_get_frame 0x11015ba0 Section 0 rf433_decoder.o(i.rf433_decoder_get_frame) + i.rf433_decoder_init 0x11015bc8 Section 0 rf433_decoder.o(i.rf433_decoder_init) + i.rf433_decoder_process 0x11015be0 Section 0 rf433_decoder.o(i.rf433_decoder_process) + i.rf433_decoder_sample 0x11015be4 Section 0 rf433_decoder.o(i.rf433_decoder_sample) + i.rf433_gpio_init 0x11015c7c Section 0 rf433.o(i.rf433_gpio_init) + i.rf433_in_range 0x11015c9c Section 0 rf433_decoder.o(i.rf433_in_range) + rf433_in_range 0x11015c9d Thumb Code 16 rf433_decoder.o(i.rf433_in_range) + i.rf433_increment_saturated 0x11015cac Section 0 rf433_decoder.o(i.rf433_increment_saturated) + rf433_increment_saturated 0x11015cad Thumb Code 16 rf433_decoder.o(i.rf433_increment_saturated) + i.rf433_paired_count 0x11015cc0 Section 0 rf433.o(i.rf433_paired_count) + i.rf433_receive 0x11015cec Section 0 rf433.o(i.rf433_receive) + i.rf433_start_pairing 0x11015d58 Section 0 rf433.o(i.rf433_start_pairing) + i.rf_force_agc_enable 0x11015d9c Section 0 rf_extrc.o(i.rf_force_agc_enable) + rf_force_agc_enable 0x11015d9d Thumb Code 2 rf_extrc.o(i.rf_force_agc_enable) + i.rf_init 0x11015da0 Section 0 rf_extrc.o(i.rf_init) + i.rf_rccalib 0x11015ef4 Section 0 rf_extrc.o(i.rf_rccalib) + i.rf_reg_rd 0x11016014 Section 0 rf_extrc.o(i.rf_reg_rd) + rf_reg_rd 0x11016015 Thumb Code 4 rf_extrc.o(i.rf_reg_rd) + i.rf_reg_wr 0x11016018 Section 0 rf_extrc.o(i.rf_reg_wr) + rf_reg_wr 0x11016019 Thumb Code 2 rf_extrc.o(i.rf_reg_wr) + i.rf_reset 0x1101601a Section 0 rf_extrc.o(i.rf_reset) + rf_reset 0x1101601b Thumb Code 2 rf_extrc.o(i.rf_reset) + i.rf_sleep 0x1101601c Section 0 rf_extrc.o(i.rf_sleep) + rf_sleep 0x1101601d Thumb Code 18 rf_extrc.o(i.rf_sleep) + i.rf_txpwr_cs_get 0x11016030 Section 0 rf_extrc.o(i.rf_txpwr_cs_get) + rf_txpwr_cs_get 0x11016031 Thumb Code 70 rf_extrc.o(i.rf_txpwr_cs_get) + i.rf_txpwr_dbm_get 0x1101607c Section 0 rf_extrc.o(i.rf_txpwr_dbm_get) + rf_txpwr_dbm_get 0x1101607d Thumb Code 6 rf_extrc.o(i.rf_txpwr_dbm_get) + i.rom_env_host_init 0x11016088 Section 0 arch_main.o(i.rom_env_host_init) + i.scan_433 0x110160a8 Section 0 rf433.o(i.scan_433) + i.scan_uart 0x11016128 Section 0 uart_1.o(i.scan_uart) + i.set_TaskComps_timer 0x110162c4 Section 0 timeslice.o(i.set_TaskComps_timer) + i.set_mode 0x110162d4 Section 0 mode.o(i.set_mode) + i.set_vector 0x1101641c Section 0 system_xinc.o(i.set_vector) + i.slave_send_data 0x11016448 Section 0 usr_server.o(i.slave_send_data) + i.srv_get_hdl_from_att_idx 0x110164f4 Section 0 usr_server.o(i.srv_get_hdl_from_att_idx) + i.stack_tag 0x11016504 Section 0 arch_main.o(i.stack_tag) + i.startTimer 0x11016518 Section 0 timer.o(i.startTimer) + i.systick_callback 0x11016520 Section 0 xc_drv_systick.o(i.systick_callback) + i.temperature 0x11016524 Section 0 pwm.o(i.temperature) + i.timer0_2_init 0x11016558 Section 0 timer.o(i.timer0_2_init) + i.uart_user_handler 0x110165ec Section 0 xc_drv_uart.o(i.uart_user_handler) + i.updateTimer 0x11016694 Section 0 timer.o(i.updateTimer) + i.update_power_fade 0x110166ac Section 0 light_transition.o(i.update_power_fade) + update_power_fade 0x110166ad Thumb Code 114 light_transition.o(i.update_power_fade) + i.wbit 0x11016724 Section 0 rf_extrc.o(i.wbit) + wbit 0x11016725 Thumb Code 84 rf_extrc.o(i.wbit) + i.wdt_init 0x1101677c Section 0 arch_main.o(i.wdt_init) + i.wright_user_data 0x11016798 Section 0 fmc_spi.o(i.wright_user_data) + i.xc_adc_2v4_calibrate_read 0x11016898 Section 0 xc_drv_fmc_spi.o(i.xc_adc_2v4_calibrate_read) + i.xc_adc_data_average 0x1101693c Section 0 xc_drv_adc.o(i.xc_adc_data_average) + i.xc_adc_fifo_flush 0x110169b8 Section 0 xc_drv_adc.o(i.xc_adc_fifo_flush) + xc_adc_fifo_flush 0x110169b9 Thumb Code 20 xc_drv_adc.o(i.xc_adc_fifo_flush) + i.xc_adc_init 0x110169d0 Section 0 xc_drv_adc.o(i.xc_adc_init) + i.xc_adc_start_get_value 0x11016aac Section 0 xc_drv_adc.o(i.xc_adc_start_get_value) + i.xc_ble_activity_delete 0x11016b78 Section 0 xc_gap_api.o(i.xc_ble_activity_delete) + i.xc_ble_activity_stop 0x11016ba0 Section 0 xc_gap_api.o(i.xc_ble_activity_stop) + i.xc_ble_advertise_create 0x11016bc8 Section 0 xc_gap_api.o(i.xc_ble_advertise_create) + i.xc_ble_advertise_start 0x11016bf0 Section 0 xc_gap_api.o(i.xc_ble_advertise_start) + i.xc_ble_conn_cfm 0x11016c1c Section 0 xc_gap_api.o(i.xc_ble_conn_cfm) + i.xc_ble_gapm_reset 0x11016c48 Section 0 xc_gap_api.o(i.xc_ble_gapm_reset) + i.xc_ble_gatt_cli_mtu_exch 0x11016c64 Section 0 xc_gatt_client_api.o(i.xc_ble_gatt_cli_mtu_exch) + i.xc_ble_gatt_service16_add 0x11016c6e Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_service16_add) + i.xc_ble_gatt_srv_notify 0x11016c84 Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_srv_notify) + i.xc_ble_gatt_srv_read_cfm 0x11016cce Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_srv_read_cfm) + i.xc_ble_gatt_srv_write_cfm 0x11016d20 Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_srv_write_cfm) + i.xc_ble_gatt_user_srv_register 0x11016d28 Section 0 xc_gatt_server_api.o(i.xc_ble_gatt_user_srv_register) + i.xc_ble_get_dev_info_cfm 0x11016d30 Section 0 xc_gap_api.o(i.xc_ble_get_dev_info_cfm) + i.xc_ble_param_update_cfm 0x11016d68 Section 0 xc_gap_api.o(i.xc_ble_param_update_cfm) + i.xc_ble_scan_create 0x11016d9c Section 0 xc_gap_api.o(i.xc_ble_scan_create) + i.xc_ble_scan_start 0x11016dc0 Section 0 xc_gap_api.o(i.xc_ble_scan_start) + i.xc_ble_set_adv_data 0x11016dec Section 0 xc_gap_api.o(i.xc_ble_set_adv_data) + i.xc_ble_set_dev_config 0x11016e24 Section 0 xc_gap_api.o(i.xc_ble_set_dev_config) + i.xc_ble_set_dev_info_cfm 0x11016e50 Section 0 xc_gap_api.o(i.xc_ble_set_dev_info_cfm) + i.xc_clock_bbpll_common_cfg 0x11016e78 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) + i.xc_clock_bbpll_freq_cfg 0x11016eb8 Section 0 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) + i.xc_clock_hfclk_in_get 0x11016f38 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_in_get) + i.xc_clock_hfclk_set 0x11016f44 Section 0 xc_drv_clock.o(i.xc_clock_hfclk_set) + i.xc_clock_init_cfg 0x11017008 Section 0 xc_drv_clock.o(i.xc_clock_init_cfg) + i.xc_clock_lfclk_in_get 0x11017024 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_in_get) + i.xc_clock_lfclk_set 0x11017030 Section 0 xc_drv_clock.o(i.xc_clock_lfclk_set) + i.xc_clock_set_osc32m_bbpll_32m 0x1101709c Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_32m) + i.xc_clock_set_osc32m_bbpll_48m 0x110170d0 Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_48m) + i.xc_clock_set_osc32m_bbpll_64m 0x11017104 Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_64m) + i.xc_clock_set_osc32m_bbpll_96m 0x11017138 Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_96m) + i.xc_clock_set_osc32m_div_16m 0x1101716c Section 0 xc_drv_clock.o(i.xc_clock_set_osc32m_div_16m) + i.xc_clock_set_rc16m 0x110171c8 Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m) + i.xc_clock_set_rc16m_bbpll_32m 0x110171e8 Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_32m) + i.xc_clock_set_rc16m_bbpll_48m 0x1101721c Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_48m) + i.xc_clock_set_rc16m_bbpll_64m 0x11017250 Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_64m) + i.xc_clock_set_rc16m_bbpll_96m 0x11017284 Section 0 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_96m) + i.xc_fota_dev_ack_cmd 0x110172b8 Section 0 ota_protocol.o(i.xc_fota_dev_ack_cmd) + i.xc_gpio_direction_config 0x110172e0 Section 0 xc_drv_gpio.o(i.xc_gpio_direction_config) + i.xc_gpio_fun_sel 0x110172fc Section 0 xc_drv_gpio.o(i.xc_gpio_fun_sel) + i.xc_gpio_init 0x11017324 Section 0 xc_drv_gpio.o(i.xc_gpio_init) + i.xc_gpio_it_config 0x11017354 Section 0 xc_drv_gpio.o(i.xc_gpio_it_config) + i.xc_gpio_mux_ctl 0x11017388 Section 0 xc_drv_gpio.o(i.xc_gpio_mux_ctl) + i.xc_gpio_pull_config 0x110173d4 Section 0 xc_drv_gpio.o(i.xc_gpio_pull_config) + i.xc_gpio_read_pin 0x110174bc Section 0 xc_drv_gpio.o(i.xc_gpio_read_pin) + i.xc_gpio_write_pin 0x110174e0 Section 0 xc_drv_gpio.o(i.xc_gpio_write_pin) + i.xc_ota_schedule 0x110174fc Section 0 ota_protocol.o(i.xc_ota_schedule) + i.xc_pwm_dutycycle_set 0x1101753c Section 0 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) + i.xc_pwm_init 0x11017588 Section 0 xc_drv_pwm.o(i.xc_pwm_init) + i.xc_pwm_start 0x11017668 Section 0 xc_drv_pwm.o(i.xc_pwm_start) + i.xc_pwm_stop 0x11017688 Section 0 xc_drv_pwm.o(i.xc_pwm_stop) + i.xc_pwr_vol_set 0x110176a4 Section 0 xc_drv_pwr.o(i.xc_pwr_vol_set) + i.xc_timer_init 0x110176f8 Section 0 xc_drv_timer.o(i.xc_timer_init) + i.xc_timer_set_value 0x11017818 Section 0 xc_drv_timer.o(i.xc_timer_set_value) + i.xc_timer_start 0x11017840 Section 0 xc_drv_timer.o(i.xc_timer_start) + i.xc_timer_stop 0x1101787c Section 0 xc_drv_timer.o(i.xc_timer_stop) + i.xc_timer_us_to_ticks 0x11017898 Section 0 xc_drv_timer.o(i.xc_timer_us_to_ticks) + xc_timer_us_to_ticks 0x11017899 Thumb Code 188 xc_drv_timer.o(i.xc_timer_us_to_ticks) + i.xc_uart_init 0x11017964 Section 0 xc_drv_uart.o(i.xc_uart_init) + i.xc_unique_identification_read 0x11017b30 Section 0 xc_drv_fmc_spi.o(i.xc_unique_identification_read) + i.xc_wdt_init 0x11017c18 Section 0 xc_drv_wdt.o(i.xc_wdt_init) + i.xc_wdt_refresh 0x11017c88 Section 0 xc_drv_wdt.o(i.xc_wdt_refresh) + i.xc_wdt_reload 0x11017cb4 Section 0 xc_drv_wdt.o(i.xc_wdt_reload) + i.xc_wdt_start 0x11017cec Section 0 xc_drv_wdt.o(i.xc_wdt_start) + locale$$code 0x11017d20 Section 44 lc_numeric_c.o(locale$$code) + locale$$code 0x11017d4c Section 44 lc_ctype_c.o(locale$$code) + x$fpl$printf1 0x11017d78 Section 16 printf1.o(x$fpl$printf1) + x$fpl$printf2 0x11017d88 Section 16 printf2.o(x$fpl$printf2) + .constdata 0x11017d98 Section 40 app_task.o(.constdata) + x$fpl$usenofp 0x11017d98 Section 0 usenofp.o(x$fpl$usenofp) + .constdata 0x11017dc0 Section 88 app_task.o(.constdata) + __func__ 0x11017dcc Data 32 app_task.o(.constdata) + .constdata 0x11017e18 Section 124 usr_server.o(.constdata) + custom_server_atts 0x11017e1c Data 48 usr_server.o(.constdata) + custom_src_cb 0x11017e4c Data 20 usr_server.o(.constdata) + __func__ 0x11017e60 Data 25 usr_server.o(.constdata) + __func__ 0x11017e79 Data 27 usr_server.o(.constdata) + .constdata 0x11017e94 Section 12 xc_drv_pwm.o(.constdata) + pwm_offset 0x11017e94 Data 12 xc_drv_pwm.o(.constdata) + .constdata 0x11017ea0 Section 8 rf_extrc.o(.constdata) + RF_TX_PW_CONV_TBL 0x11017ea0 Data 8 rf_extrc.o(.constdata) + .constdata 0x11017ea8 Section 4 xc_drv_timer.o(.constdata) + timer_offset 0x11017ea8 Data 4 xc_drv_timer.o(.constdata) + .constdata 0x11017eac Section 6 xc_drv_uart.o(.constdata) + uart_offset 0x11017eac Data 6 xc_drv_uart.o(.constdata) + .constdata 0x11017eb2 Section 2 xc_drv_aotimer.o(.constdata) + aotimer_offset 0x11017eb2 Data 2 xc_drv_aotimer.o(.constdata) + .constdata 0x11017eb4 Section 22 mode.o(.constdata) + time_1_neutral 0x11017eb4 Data 22 mode.o(.constdata) + .constdata 0x11017eca Section 4 bridge_pwm.o(.constdata) + timer_offset 0x11017eca Data 4 bridge_pwm.o(.constdata) + .constdata 0x11017ece Section 804 light_transition.o(.constdata) + brightness_gamma_q12 0x11017ece Data 200 light_transition.o(.constdata) + mixed_brightness_gamma_q12 0x11017f96 Data 200 light_transition.o(.constdata) + power_fade_gamma_q12 0x1101805e Data 202 light_transition.o(.constdata) + transition_gamma_s_q12 0x11018128 Data 202 light_transition.o(.constdata) + .constdata 0x110181f2 Section 40 _printf_hex_int_ll_ptr.o(.constdata) + uc_hextab 0x110181f2 Data 20 _printf_hex_int_ll_ptr.o(.constdata) + lc_hextab 0x11018206 Data 20 _printf_hex_int_ll_ptr.o(.constdata) + .constdata 0x1101821a Section 17 __printf_flags_ss_wp.o(.constdata) + maptable 0x1101821a Data 17 __printf_flags_ss_wp.o(.constdata) + .constdata 0x1101822c Section 8 _printf_wctomb.o(.constdata) + initial_mbstate 0x1101822c Data 8 _printf_wctomb.o(.constdata) + .constdata 0x11018234 Section 38 _printf_fp_hex.o(.constdata) + lc_hextab 0x11018234 Data 19 _printf_fp_hex.o(.constdata) + uc_hextab 0x11018247 Data 19 _printf_fp_hex.o(.constdata) + .constdata 0x1101825c Section 148 bigflt0.o(.constdata) + tenpwrs_x 0x1101825c Data 60 bigflt0.o(.constdata) + tenpwrs_i 0x11018298 Data 64 bigflt0.o(.constdata) + .conststring 0x110182f0 Section 207 app_task.o(.conststring) + .conststring 0x110183c0 Section 74 usr_server.o(.conststring) + locale$$data 0x1101844c Section 28 lc_numeric_c.o(locale$$data) + __lcnum_c_name 0x11018450 Data 2 lc_numeric_c.o(locale$$data) + __lcnum_c_start 0x11018458 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_point 0x11018464 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_thousands 0x11018466 Data 0 lc_numeric_c.o(locale$$data) + __lcnum_c_grouping 0x11018467 Data 0 lc_numeric_c.o(locale$$data) + locale$$data 0x11018468 Section 272 lc_ctype_c.o(locale$$data) + __lcnum_c_end 0x11018468 Data 0 lc_numeric_c.o(locale$$data) + __lcctype_c_name 0x1101846c Data 2 lc_ctype_c.o(locale$$data) + __lcctype_c_start 0x11018474 Data 0 lc_ctype_c.o(locale$$data) + __lcctype_c_end 0x11018578 Data 0 lc_ctype_c.o(locale$$data) ram_em 0x530077b0 Section 2091 ota_protocol.o(ram_em) Global Symbols @@ -3332,56 +3320,56 @@ Image Symbol Table RTC_Intr_cb 0x10004518 Data 32 xc_drv_rtc.o(.data) timer1 0x10004538 Data 8 timer.o(.data) timer2 0x10004540 Data 8 timer.o(.data) - TaskComps 0x10004548 Data 224 timeslice.o(.data) - p_ble_data_msg 0x10004628 Data 4 rgblight.o(.data) - deviceStatus 0x1000462c Data 1 mode.o(.data) - Mode 0x1000462d Data 1 mode.o(.data) - Speed 0x1000462e Data 1 mode.o(.data) - direction 0x1000462f Data 1 mode.o(.data) - choose_mode_falsg 0x10004630 Data 1 mode.o(.data) - choose_mode_bh 0x10004631 Data 1 mode.o(.data) - time_1 0x10004634 Data 22 mode.o(.data) - time_2 0x1000464a Data 22 mode.o(.data) - modefunctin 0x10004660 Data 16 mode.o(.data) - res_data 0x10004670 Data 1 rf433.o(.data) - adress_H 0x10004671 Data 1 rf433.o(.data) - adress_L 0x10004672 Data 1 rf433.o(.data) - match_success 0x10004673 Data 1 rf433.o(.data) - long_flag_s 0x10004676 Data 1 rf433.o(.data) - rf_flag 0x10004683 Data 2 rf433.o(.data) - long_press_cnt 0x1000468a Data 2 rf433.o(.data) - adress 0x10004694 Data 4 rf433.o(.data) - time_5s 0x10004698 Data 4 rf433.o(.data) - KEY_STATE_re 0x1000469c Data 4 rf433.o(.data) - receive_temp 0x100046a0 Data 4 rf433.o(.data) - receive_data 0x100046a4 Data 4 rf433.o(.data) - adress_H_array 0x100046bc Data 5 rf433.o(.data) - adress_L_array 0x100046c1 Data 5 rf433.o(.data) - Key_TypeDef 0x100046c8 Data 8 rf433.o(.data) - flag_1h 0x100046d0 Data 4 rf433.o(.data) - is_time 0x100046d4 Data 1 rf433.o(.data) - driveMode 0x100046d8 Data 1 pwm.o(.data) - Brightness 0x100046d9 Data 1 pwm.o(.data) - sss 0x100046da Data 1 pwm.o(.data) - W_PWM 0x100046dc Data 2 pwm.o(.data) - C_PWM 0x100046de Data 2 pwm.o(.data) - W_PWM_duty 0x100046e0 Data 2 pwm.o(.data) - C_PWM_duty 0x100046e2 Data 2 pwm.o(.data) - RefVol 0x100046e4 Data 4 pwm.o(.data) - Light_Transition_FadeActive 0x10004720 Data 1 light_transition.o(.data) - Light_Transition_ModeActive 0x10004721 Data 1 light_transition.o(.data) - Light_Transition_W_Output_Q12 0x10004734 Data 4 light_transition.o(.data) - Light_Transition_C_Output_Q12 0x10004738 Data 4 light_transition.o(.data) - power_restore_policy 0x10004746 Data 1 fmc_spi.o(.data) - op_flash 0x10004748 Data 272 ota_flash_interface.o(.bss) - app_data 0x10004858 Data 256 ota_flash_interface.o(.bss) - DMA_Instance 0x10004a6c Data 28 xc_drv_dma.o(.bss) - clock_cb 0x10004a88 Data 16 xc_drv_clock.o(.bss) - user_ble_data_msg 0x10004ad8 Data 25 rgblight.o(.bss) - r_data 0x10004b10 Data 256 fmc_spi.o(.bss) - _random_number_data 0x10004c10 Data 228 rand.o(.bss) - __libspace_start 0x10004cf4 Data 96 libspace.o(.bss) - __temporary_stack_top$libspace 0x10004d54 Data 0 libspace.o(.bss) + TaskComps 0x10004548 Data 208 timeslice.o(.data) + p_ble_data_msg 0x10004618 Data 4 rgblight.o(.data) + deviceStatus 0x1000461c Data 1 mode.o(.data) + Mode 0x1000461d Data 1 mode.o(.data) + Speed 0x1000461e Data 1 mode.o(.data) + direction 0x1000461f Data 1 mode.o(.data) + choose_mode_falsg 0x10004620 Data 1 mode.o(.data) + choose_mode_bh 0x10004621 Data 1 mode.o(.data) + time_1 0x10004624 Data 22 mode.o(.data) + time_2 0x1000463a Data 22 mode.o(.data) + modefunctin 0x10004650 Data 16 mode.o(.data) + res_data 0x10004660 Data 1 rf433.o(.data) + adress_H 0x10004661 Data 1 rf433.o(.data) + adress_L 0x10004662 Data 1 rf433.o(.data) + match_success 0x10004663 Data 1 rf433.o(.data) + long_flag_s 0x10004666 Data 1 rf433.o(.data) + rf_flag 0x10004673 Data 2 rf433.o(.data) + long_press_cnt 0x1000467a Data 2 rf433.o(.data) + adress 0x10004684 Data 4 rf433.o(.data) + time_5s 0x10004688 Data 4 rf433.o(.data) + KEY_STATE_re 0x1000468c Data 4 rf433.o(.data) + receive_temp 0x10004690 Data 4 rf433.o(.data) + receive_data 0x10004694 Data 4 rf433.o(.data) + adress_H_array 0x100046ac Data 5 rf433.o(.data) + adress_L_array 0x100046b1 Data 5 rf433.o(.data) + Key_TypeDef 0x100046b8 Data 8 rf433.o(.data) + flag_1h 0x100046c0 Data 4 rf433.o(.data) + is_time 0x100046c4 Data 1 rf433.o(.data) + driveMode 0x100046c8 Data 1 pwm.o(.data) + Brightness 0x100046c9 Data 1 pwm.o(.data) + sss 0x100046ca Data 1 pwm.o(.data) + W_PWM 0x100046cc Data 2 pwm.o(.data) + C_PWM 0x100046ce Data 2 pwm.o(.data) + W_PWM_duty 0x100046d0 Data 2 pwm.o(.data) + C_PWM_duty 0x100046d2 Data 2 pwm.o(.data) + RefVol 0x100046d4 Data 4 pwm.o(.data) + Light_Transition_FadeActive 0x10004710 Data 1 light_transition.o(.data) + Light_Transition_ModeActive 0x10004711 Data 1 light_transition.o(.data) + Light_Transition_W_Output_Q12 0x10004724 Data 4 light_transition.o(.data) + Light_Transition_C_Output_Q12 0x10004728 Data 4 light_transition.o(.data) + power_restore_policy 0x1000472c Data 1 fmc_spi.o(.data) + op_flash 0x10004730 Data 272 ota_flash_interface.o(.bss) + app_data 0x10004840 Data 256 ota_flash_interface.o(.bss) + DMA_Instance 0x10004a54 Data 28 xc_drv_dma.o(.bss) + clock_cb 0x10004a70 Data 16 xc_drv_clock.o(.bss) + user_ble_data_msg 0x10004ac0 Data 25 rgblight.o(.bss) + r_data 0x10004af8 Data 256 fmc_spi.o(.bss) + _random_number_data 0x10004bf8 Data 228 rand.o(.bss) + __libspace_start 0x10004cdc Data 96 libspace.o(.bss) + __temporary_stack_top$libspace 0x10004d3c Data 0 libspace.o(.bss) gapc_get_bdaddr 0x11003489 Thumb Code 0 rom_symdefs.o ABSOLUTE gatt_cli_mtu_exch 0x11007a15 Thumb Code 0 rom_symdefs.o ABSOLUTE gatt_db_svc16_add 0x11008019 Thumb Code 0 rom_symdefs.o ABSOLUTE @@ -3646,11 +3634,11 @@ Image Symbol Table app_create_advertising_non_conn 0x11013fa5 Thumb Code 82 app_task.o(i.app_create_advertising_non_conn) app_create_scan 0x11014019 Thumb Code 36 app_task.o(i.app_create_scan) app_delete_advertising 0x11014055 Thumb Code 42 app_task.o(i.app_delete_advertising) - app_get_dev_name 0x1101409d Thumb Code 34 app_task.o(i.app_get_dev_name) - app_init 0x110140c5 Thumb Code 32 app_task.o(i.app_init) - app_op_flash 0x11014151 Thumb Code 42 ota_flash_interface.o(i.app_op_flash) - app_op_flash_on 0x1101418d Thumb Code 20 ota_flash_interface.o(i.app_op_flash_on) - app_set_adv_data 0x11014261 Thumb Code 84 app_task.o(i.app_set_adv_data) + app_get_dev_name 0x1101409d Thumb Code 32 app_task.o(i.app_get_dev_name) + app_init 0x110140c1 Thumb Code 32 app_task.o(i.app_init) + app_op_flash 0x1101414d Thumb Code 42 ota_flash_interface.o(i.app_op_flash) + app_op_flash_on 0x11014189 Thumb Code 20 ota_flash_interface.o(i.app_op_flash_on) + app_set_adv_data 0x1101425d Thumb Code 82 app_task.o(i.app_set_adv_data) app_start_advertising 0x110142c9 Thumb Code 92 app_task.o(i.app_start_advertising) app_start_scan 0x11014341 Thumb Code 78 app_task.o(i.app_start_scan) app_stop_scanning 0x110143a9 Thumb Code 32 app_task.o(i.app_stop_scanning) @@ -3670,134 +3658,132 @@ Image Symbol Table clock_init 0x11014a1d Thumb Code 94 sleep.o(i.clock_init) custom_svc_add 0x11014a8d Thumb Code 102 usr_server.o(i.custom_svc_add) delay_ms_test 0x11014c81 Thumb Code 22 rf_extrc.o(i.delay_ms_test) - external_key_init 0x11014d25 Thumb Code 32 external_key.o(i.external_key_init) - external_key_scan 0x11014d7d Thumb Code 304 external_key.o(i.external_key_scan) - extract32_16 0x11014ec9 Thumb Code 14 xc_drv_fmc_spi.o(i.extract32_16) - ferror 0x11014ed7 Thumb Code 6 system_xinc.o(i.ferror) - flash_init 0x11014edd Thumb Code 78 arch_main.o(i.flash_init) - flash_size_and_type_get 0x11014f31 Thumb Code 86 xc_drv_fmc_spi.o(i.flash_size_and_type_get) - fmc_spi_read 0x11014f89 Thumb Code 38 fmc_spi.o(i.fmc_spi_read) - get_app_env 0x110155ed Thumb Code 4 app_task.o(i.get_app_env) - get_checksum 0x110155f5 Thumb Code 28 fmc_spi.o(i.get_checksum) - gpio_intr_callback 0x11015611 Thumb Code 2 xc_drv_gpio.o(i.gpio_intr_callback) - jump_fun 0x110156a9 Thumb Code 56 mode.o(i.jump_fun) - main 0x110156e5 Thumb Code 90 arch_main.o(i.main) - modem_init 0x11015749 Thumb Code 222 rf_extrc.o(i.modem_init) - ota_slave_send_data 0x110158b9 Thumb Code 82 ota_server.o(i.ota_slave_send_data) - ota_srv_get_hdl_from_att_idx 0x11015955 Thumb Code 10 ota_server.o(i.ota_srv_get_hdl_from_att_idx) - ota_write_flash 0x11015965 Thumb Code 46 ota_protocol.o(i.ota_write_flash) - power_restore_apply_on_boot 0x110159f9 Thumb Code 96 fmc_spi.o(i.power_restore_apply_on_boot) - power_restore_policy_set 0x11015a79 Thumb Code 36 fmc_spi.o(i.power_restore_policy_set) - pwm_capture_ch0_callback 0x11015aa1 Thumb Code 4 xc_drv_pwm.o(i.pwm_capture_ch0_callback) - pwm_capture_ch1_callback 0x11015aa5 Thumb Code 4 xc_drv_pwm.o(i.pwm_capture_ch1_callback) - pwm_capture_ch2_callback 0x11015aa9 Thumb Code 4 xc_drv_pwm.o(i.pwm_capture_ch2_callback) - pwm_pin_set 0x11015acb Thumb Code 158 xc_drv_pwm.o(i.pwm_pin_set) - read_user_data 0x11015b69 Thumb Code 294 fmc_spi.o(i.read_user_data) - reverse_verif_is_true 0x11015ccd Thumb Code 14 xc_drv_fmc_spi.o(i.reverse_verif_is_true) - rf433_cancel_pairing 0x11015cdd Thumb Code 42 rf433.o(i.rf433_cancel_pairing) - rf433_clear_code 0x11015d11 Thumb Code 78 rf433.o(i.rf433_clear_code) - rf433_decoder_get_frame 0x11015dad Thumb Code 34 rf433_decoder.o(i.rf433_decoder_get_frame) - rf433_decoder_init 0x11015dd5 Thumb Code 20 rf433_decoder.o(i.rf433_decoder_init) - rf433_decoder_process 0x11015ded Thumb Code 2 rf433_decoder.o(i.rf433_decoder_process) - rf433_decoder_sample 0x11015df1 Thumb Code 148 rf433_decoder.o(i.rf433_decoder_sample) - rf433_gpio_init 0x11015e89 Thumb Code 32 rf433.o(i.rf433_gpio_init) - rf433_paired_count 0x11015ecd Thumb Code 38 rf433.o(i.rf433_paired_count) - rf433_receive 0x11015ef9 Thumb Code 100 rf433.o(i.rf433_receive) - rf433_start_pairing 0x11015f65 Thumb Code 64 rf433.o(i.rf433_start_pairing) - rf_init 0x11015fad Thumb Code 274 rf_extrc.o(i.rf_init) - rf_rccalib 0x11016101 Thumb Code 248 rf_extrc.o(i.rf_rccalib) - rom_env_host_init 0x11016295 Thumb Code 20 arch_main.o(i.rom_env_host_init) - scan_433 0x110162b5 Thumb Code 122 rf433.o(i.scan_433) - scan_uart 0x11016335 Thumb Code 366 uart_1.o(i.scan_uart) - set_TaskComps_timer 0x110164d1 Thumb Code 10 timeslice.o(i.set_TaskComps_timer) - set_mode 0x110164e1 Thumb Code 296 mode.o(i.set_mode) - set_vector 0x11016629 Thumb Code 32 system_xinc.o(i.set_vector) - slave_send_data 0x11016655 Thumb Code 98 usr_server.o(i.slave_send_data) - srv_get_hdl_from_att_idx 0x11016701 Thumb Code 10 usr_server.o(i.srv_get_hdl_from_att_idx) - stack_tag 0x11016711 Thumb Code 16 arch_main.o(i.stack_tag) - startTimer 0x11016725 Thumb Code 8 timer.o(i.startTimer) - systick_callback 0x1101672d Thumb Code 2 xc_drv_systick.o(i.systick_callback) - temperature 0x11016731 Thumb Code 48 pwm.o(i.temperature) - timer0_2_init 0x11016765 Thumb Code 140 timer.o(i.timer0_2_init) - uart_user_handler 0x110167f9 Thumb Code 132 xc_drv_uart.o(i.uart_user_handler) - updateTimer 0x110168a1 Thumb Code 22 timer.o(i.updateTimer) - wdt_init 0x11016989 Thumb Code 26 arch_main.o(i.wdt_init) - wright_user_data 0x110169a5 Thumb Code 190 fmc_spi.o(i.wright_user_data) - xc_adc_2v4_calibrate_read 0x11016aa5 Thumb Code 160 xc_drv_fmc_spi.o(i.xc_adc_2v4_calibrate_read) - xc_adc_data_average 0x11016b49 Thumb Code 120 xc_drv_adc.o(i.xc_adc_data_average) - xc_adc_init 0x11016bdd Thumb Code 210 xc_drv_adc.o(i.xc_adc_init) - xc_adc_start_get_value 0x11016cb9 Thumb Code 174 xc_drv_adc.o(i.xc_adc_start_get_value) - xc_ble_activity_delete 0x11016d85 Thumb Code 36 xc_gap_api.o(i.xc_ble_activity_delete) - xc_ble_activity_stop 0x11016dad Thumb Code 36 xc_gap_api.o(i.xc_ble_activity_stop) - xc_ble_advertise_create 0x11016dd5 Thumb Code 40 xc_gap_api.o(i.xc_ble_advertise_create) - xc_ble_advertise_start 0x11016dfd Thumb Code 38 xc_gap_api.o(i.xc_ble_advertise_start) - xc_ble_conn_cfm 0x11016e29 Thumb Code 38 xc_gap_api.o(i.xc_ble_conn_cfm) - xc_ble_gapm_reset 0x11016e55 Thumb Code 24 xc_gap_api.o(i.xc_ble_gapm_reset) - xc_ble_gatt_cli_mtu_exch 0x11016e71 Thumb Code 10 xc_gatt_client_api.o(i.xc_ble_gatt_cli_mtu_exch) - xc_ble_gatt_service16_add 0x11016e7b Thumb Code 22 xc_gatt_server_api.o(i.xc_ble_gatt_service16_add) - xc_ble_gatt_srv_notify 0x11016e91 Thumb Code 74 xc_gatt_server_api.o(i.xc_ble_gatt_srv_notify) - xc_ble_gatt_srv_read_cfm 0x11016edb Thumb Code 82 xc_gatt_server_api.o(i.xc_ble_gatt_srv_read_cfm) - xc_ble_gatt_srv_write_cfm 0x11016f2d Thumb Code 8 xc_gatt_server_api.o(i.xc_ble_gatt_srv_write_cfm) - xc_ble_gatt_user_srv_register 0x11016f35 Thumb Code 8 xc_gatt_server_api.o(i.xc_ble_gatt_user_srv_register) - xc_ble_get_dev_info_cfm 0x11016f3d Thumb Code 52 xc_gap_api.o(i.xc_ble_get_dev_info_cfm) - xc_ble_param_update_cfm 0x11016f75 Thumb Code 46 xc_gap_api.o(i.xc_ble_param_update_cfm) - xc_ble_scan_create 0x11016fa9 Thumb Code 36 xc_gap_api.o(i.xc_ble_scan_create) - xc_ble_scan_start 0x11016fcd Thumb Code 38 xc_gap_api.o(i.xc_ble_scan_start) - xc_ble_set_adv_data 0x11016ff9 Thumb Code 50 xc_gap_api.o(i.xc_ble_set_adv_data) - xc_ble_set_dev_config 0x11017031 Thumb Code 38 xc_gap_api.o(i.xc_ble_set_dev_config) - xc_ble_set_dev_info_cfm 0x1101705d Thumb Code 34 xc_gap_api.o(i.xc_ble_set_dev_info_cfm) - xc_clock_bbpll_common_cfg 0x11017085 Thumb Code 50 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) - xc_clock_bbpll_freq_cfg 0x110170c5 Thumb Code 120 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) - xc_clock_hfclk_in_get 0x11017145 Thumb Code 6 xc_drv_clock.o(i.xc_clock_hfclk_in_get) - xc_clock_hfclk_set 0x11017151 Thumb Code 166 xc_drv_clock.o(i.xc_clock_hfclk_set) - xc_clock_init_cfg 0x11017215 Thumb Code 26 xc_drv_clock.o(i.xc_clock_init_cfg) - xc_clock_lfclk_in_get 0x11017231 Thumb Code 6 xc_drv_clock.o(i.xc_clock_lfclk_in_get) - xc_clock_lfclk_set 0x1101723d Thumb Code 96 xc_drv_clock.o(i.xc_clock_lfclk_set) - xc_clock_set_osc32m_bbpll_32m 0x110172a9 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_32m) - xc_clock_set_osc32m_bbpll_48m 0x110172dd Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_48m) - xc_clock_set_osc32m_bbpll_64m 0x11017311 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_64m) - xc_clock_set_osc32m_bbpll_96m 0x11017345 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_96m) - xc_clock_set_osc32m_div_16m 0x11017379 Thumb Code 82 xc_drv_clock.o(i.xc_clock_set_osc32m_div_16m) - xc_clock_set_rc16m 0x110173d5 Thumb Code 22 xc_drv_clock.o(i.xc_clock_set_rc16m) - xc_clock_set_rc16m_bbpll_32m 0x110173f5 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_32m) - xc_clock_set_rc16m_bbpll_48m 0x11017429 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_48m) - xc_clock_set_rc16m_bbpll_64m 0x1101745d Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_64m) - xc_clock_set_rc16m_bbpll_96m 0x11017491 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_96m) - xc_fota_dev_ack_cmd 0x110174c5 Thumb Code 36 ota_protocol.o(i.xc_fota_dev_ack_cmd) - xc_gpio_direction_config 0x110174ed Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_direction_config) - xc_gpio_fun_sel 0x11017509 Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_fun_sel) - xc_gpio_init 0x11017531 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_init) - xc_gpio_it_config 0x11017561 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_it_config) - xc_gpio_mux_ctl 0x11017595 Thumb Code 70 xc_drv_gpio.o(i.xc_gpio_mux_ctl) - xc_gpio_pull_config 0x110175e1 Thumb Code 228 xc_drv_gpio.o(i.xc_gpio_pull_config) - xc_gpio_read_pin 0x110176c9 Thumb Code 30 xc_drv_gpio.o(i.xc_gpio_read_pin) - xc_gpio_write_pin 0x110176ed Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_write_pin) - xc_ota_schedule 0x11017709 Thumb Code 56 ota_protocol.o(i.xc_ota_schedule) - xc_pwm_dutycycle_set 0x11017749 Thumb Code 68 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) - xc_pwm_init 0x11017795 Thumb Code 206 xc_drv_pwm.o(i.xc_pwm_init) - xc_pwm_start 0x11017875 Thumb Code 22 xc_drv_pwm.o(i.xc_pwm_start) - xc_pwm_stop 0x11017895 Thumb Code 20 xc_drv_pwm.o(i.xc_pwm_stop) - xc_pwr_vol_set 0x110178b1 Thumb Code 68 xc_drv_pwr.o(i.xc_pwr_vol_set) - xc_timer_init 0x11017905 Thumb Code 274 xc_drv_timer.o(i.xc_timer_init) - xc_timer_set_value 0x11017a25 Thumb Code 32 xc_drv_timer.o(i.xc_timer_set_value) - xc_timer_start 0x11017a4d Thumb Code 48 xc_drv_timer.o(i.xc_timer_start) - xc_timer_stop 0x11017a89 Thumb Code 18 xc_drv_timer.o(i.xc_timer_stop) - xc_uart_init 0x11017b71 Thumb Code 440 xc_drv_uart.o(i.xc_uart_init) - xc_unique_identification_read 0x11017d3d Thumb Code 228 xc_drv_fmc_spi.o(i.xc_unique_identification_read) - xc_wdt_init 0x11017e25 Thumb Code 100 xc_drv_wdt.o(i.xc_wdt_init) - xc_wdt_refresh 0x11017e95 Thumb Code 36 xc_drv_wdt.o(i.xc_wdt_refresh) - xc_wdt_reload 0x11017ec1 Thumb Code 42 xc_drv_wdt.o(i.xc_wdt_reload) - xc_wdt_start 0x11017ef9 Thumb Code 44 xc_drv_wdt.o(i.xc_wdt_start) - _get_lc_numeric 0x11017f2d Thumb Code 44 lc_numeric_c.o(locale$$code) - _get_lc_ctype 0x11017f59 Thumb Code 44 lc_ctype_c.o(locale$$code) - _printf_fp_dec 0x11017f85 Thumb Code 16 printf1.o(x$fpl$printf1) - _printf_fp_hex 0x11017f95 Thumb Code 16 printf2.o(x$fpl$printf2) - __I$use$fp 0x11017fa4 Number 0 usenofp.o(x$fpl$usenofp) - app_msg_handler_tab 0x11017fa4 Data 40 app_task.o(.constdata) - TASK_DESC_APP 0x11017fcc Data 12 app_task.o(.constdata) - Region$$Table$$Base 0x11018618 Number 0 anon$$obj.o(Region$$Table) - Region$$Table$$Limit 0x11018658 Number 0 anon$$obj.o(Region$$Table) - __ctype 0x11018681 Data 0 lc_ctype_c.o(locale$$data) + extract32_16 0x11014cc1 Thumb Code 14 xc_drv_fmc_spi.o(i.extract32_16) + ferror 0x11014ccf Thumb Code 6 system_xinc.o(i.ferror) + flash_init 0x11014cd5 Thumb Code 78 arch_main.o(i.flash_init) + flash_size_and_type_get 0x11014d29 Thumb Code 86 xc_drv_fmc_spi.o(i.flash_size_and_type_get) + fmc_spi_read 0x11014d81 Thumb Code 38 fmc_spi.o(i.fmc_spi_read) + get_app_env 0x110153e5 Thumb Code 4 app_task.o(i.get_app_env) + get_checksum 0x110153ed Thumb Code 28 fmc_spi.o(i.get_checksum) + gpio_intr_callback 0x11015409 Thumb Code 2 xc_drv_gpio.o(i.gpio_intr_callback) + jump_fun 0x110154a1 Thumb Code 56 mode.o(i.jump_fun) + main 0x110154dd Thumb Code 86 arch_main.o(i.main) + modem_init 0x1101553d Thumb Code 222 rf_extrc.o(i.modem_init) + ota_slave_send_data 0x110156ad Thumb Code 82 ota_server.o(i.ota_slave_send_data) + ota_srv_get_hdl_from_att_idx 0x11015749 Thumb Code 10 ota_server.o(i.ota_srv_get_hdl_from_att_idx) + ota_write_flash 0x11015759 Thumb Code 46 ota_protocol.o(i.ota_write_flash) + power_restore_apply_on_boot 0x110157ed Thumb Code 96 fmc_spi.o(i.power_restore_apply_on_boot) + power_restore_policy_set 0x1101586d Thumb Code 36 fmc_spi.o(i.power_restore_policy_set) + pwm_capture_ch0_callback 0x11015895 Thumb Code 4 xc_drv_pwm.o(i.pwm_capture_ch0_callback) + pwm_capture_ch1_callback 0x11015899 Thumb Code 4 xc_drv_pwm.o(i.pwm_capture_ch1_callback) + pwm_capture_ch2_callback 0x1101589d Thumb Code 4 xc_drv_pwm.o(i.pwm_capture_ch2_callback) + pwm_pin_set 0x110158bf Thumb Code 158 xc_drv_pwm.o(i.pwm_pin_set) + read_user_data 0x1101595d Thumb Code 294 fmc_spi.o(i.read_user_data) + reverse_verif_is_true 0x11015ac1 Thumb Code 14 xc_drv_fmc_spi.o(i.reverse_verif_is_true) + rf433_cancel_pairing 0x11015ad1 Thumb Code 42 rf433.o(i.rf433_cancel_pairing) + rf433_clear_code 0x11015b05 Thumb Code 78 rf433.o(i.rf433_clear_code) + rf433_decoder_get_frame 0x11015ba1 Thumb Code 34 rf433_decoder.o(i.rf433_decoder_get_frame) + rf433_decoder_init 0x11015bc9 Thumb Code 20 rf433_decoder.o(i.rf433_decoder_init) + rf433_decoder_process 0x11015be1 Thumb Code 2 rf433_decoder.o(i.rf433_decoder_process) + rf433_decoder_sample 0x11015be5 Thumb Code 148 rf433_decoder.o(i.rf433_decoder_sample) + rf433_gpio_init 0x11015c7d Thumb Code 32 rf433.o(i.rf433_gpio_init) + rf433_paired_count 0x11015cc1 Thumb Code 38 rf433.o(i.rf433_paired_count) + rf433_receive 0x11015ced Thumb Code 100 rf433.o(i.rf433_receive) + rf433_start_pairing 0x11015d59 Thumb Code 64 rf433.o(i.rf433_start_pairing) + rf_init 0x11015da1 Thumb Code 274 rf_extrc.o(i.rf_init) + rf_rccalib 0x11015ef5 Thumb Code 248 rf_extrc.o(i.rf_rccalib) + rom_env_host_init 0x11016089 Thumb Code 20 arch_main.o(i.rom_env_host_init) + scan_433 0x110160a9 Thumb Code 122 rf433.o(i.scan_433) + scan_uart 0x11016129 Thumb Code 366 uart_1.o(i.scan_uart) + set_TaskComps_timer 0x110162c5 Thumb Code 10 timeslice.o(i.set_TaskComps_timer) + set_mode 0x110162d5 Thumb Code 296 mode.o(i.set_mode) + set_vector 0x1101641d Thumb Code 32 system_xinc.o(i.set_vector) + slave_send_data 0x11016449 Thumb Code 98 usr_server.o(i.slave_send_data) + srv_get_hdl_from_att_idx 0x110164f5 Thumb Code 10 usr_server.o(i.srv_get_hdl_from_att_idx) + stack_tag 0x11016505 Thumb Code 16 arch_main.o(i.stack_tag) + startTimer 0x11016519 Thumb Code 8 timer.o(i.startTimer) + systick_callback 0x11016521 Thumb Code 2 xc_drv_systick.o(i.systick_callback) + temperature 0x11016525 Thumb Code 48 pwm.o(i.temperature) + timer0_2_init 0x11016559 Thumb Code 140 timer.o(i.timer0_2_init) + uart_user_handler 0x110165ed Thumb Code 132 xc_drv_uart.o(i.uart_user_handler) + updateTimer 0x11016695 Thumb Code 22 timer.o(i.updateTimer) + wdt_init 0x1101677d Thumb Code 26 arch_main.o(i.wdt_init) + wright_user_data 0x11016799 Thumb Code 190 fmc_spi.o(i.wright_user_data) + xc_adc_2v4_calibrate_read 0x11016899 Thumb Code 160 xc_drv_fmc_spi.o(i.xc_adc_2v4_calibrate_read) + xc_adc_data_average 0x1101693d Thumb Code 120 xc_drv_adc.o(i.xc_adc_data_average) + xc_adc_init 0x110169d1 Thumb Code 210 xc_drv_adc.o(i.xc_adc_init) + xc_adc_start_get_value 0x11016aad Thumb Code 174 xc_drv_adc.o(i.xc_adc_start_get_value) + xc_ble_activity_delete 0x11016b79 Thumb Code 36 xc_gap_api.o(i.xc_ble_activity_delete) + xc_ble_activity_stop 0x11016ba1 Thumb Code 36 xc_gap_api.o(i.xc_ble_activity_stop) + xc_ble_advertise_create 0x11016bc9 Thumb Code 40 xc_gap_api.o(i.xc_ble_advertise_create) + xc_ble_advertise_start 0x11016bf1 Thumb Code 38 xc_gap_api.o(i.xc_ble_advertise_start) + xc_ble_conn_cfm 0x11016c1d Thumb Code 38 xc_gap_api.o(i.xc_ble_conn_cfm) + xc_ble_gapm_reset 0x11016c49 Thumb Code 24 xc_gap_api.o(i.xc_ble_gapm_reset) + xc_ble_gatt_cli_mtu_exch 0x11016c65 Thumb Code 10 xc_gatt_client_api.o(i.xc_ble_gatt_cli_mtu_exch) + xc_ble_gatt_service16_add 0x11016c6f Thumb Code 22 xc_gatt_server_api.o(i.xc_ble_gatt_service16_add) + xc_ble_gatt_srv_notify 0x11016c85 Thumb Code 74 xc_gatt_server_api.o(i.xc_ble_gatt_srv_notify) + xc_ble_gatt_srv_read_cfm 0x11016ccf Thumb Code 82 xc_gatt_server_api.o(i.xc_ble_gatt_srv_read_cfm) + xc_ble_gatt_srv_write_cfm 0x11016d21 Thumb Code 8 xc_gatt_server_api.o(i.xc_ble_gatt_srv_write_cfm) + xc_ble_gatt_user_srv_register 0x11016d29 Thumb Code 8 xc_gatt_server_api.o(i.xc_ble_gatt_user_srv_register) + xc_ble_get_dev_info_cfm 0x11016d31 Thumb Code 52 xc_gap_api.o(i.xc_ble_get_dev_info_cfm) + xc_ble_param_update_cfm 0x11016d69 Thumb Code 46 xc_gap_api.o(i.xc_ble_param_update_cfm) + xc_ble_scan_create 0x11016d9d Thumb Code 36 xc_gap_api.o(i.xc_ble_scan_create) + xc_ble_scan_start 0x11016dc1 Thumb Code 38 xc_gap_api.o(i.xc_ble_scan_start) + xc_ble_set_adv_data 0x11016ded Thumb Code 50 xc_gap_api.o(i.xc_ble_set_adv_data) + xc_ble_set_dev_config 0x11016e25 Thumb Code 38 xc_gap_api.o(i.xc_ble_set_dev_config) + xc_ble_set_dev_info_cfm 0x11016e51 Thumb Code 34 xc_gap_api.o(i.xc_ble_set_dev_info_cfm) + xc_clock_bbpll_common_cfg 0x11016e79 Thumb Code 50 xc_drv_clock.o(i.xc_clock_bbpll_common_cfg) + xc_clock_bbpll_freq_cfg 0x11016eb9 Thumb Code 120 xc_drv_clock.o(i.xc_clock_bbpll_freq_cfg) + xc_clock_hfclk_in_get 0x11016f39 Thumb Code 6 xc_drv_clock.o(i.xc_clock_hfclk_in_get) + xc_clock_hfclk_set 0x11016f45 Thumb Code 166 xc_drv_clock.o(i.xc_clock_hfclk_set) + xc_clock_init_cfg 0x11017009 Thumb Code 26 xc_drv_clock.o(i.xc_clock_init_cfg) + xc_clock_lfclk_in_get 0x11017025 Thumb Code 6 xc_drv_clock.o(i.xc_clock_lfclk_in_get) + xc_clock_lfclk_set 0x11017031 Thumb Code 96 xc_drv_clock.o(i.xc_clock_lfclk_set) + xc_clock_set_osc32m_bbpll_32m 0x1101709d Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_32m) + xc_clock_set_osc32m_bbpll_48m 0x110170d1 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_48m) + xc_clock_set_osc32m_bbpll_64m 0x11017105 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_64m) + xc_clock_set_osc32m_bbpll_96m 0x11017139 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_osc32m_bbpll_96m) + xc_clock_set_osc32m_div_16m 0x1101716d Thumb Code 82 xc_drv_clock.o(i.xc_clock_set_osc32m_div_16m) + xc_clock_set_rc16m 0x110171c9 Thumb Code 22 xc_drv_clock.o(i.xc_clock_set_rc16m) + xc_clock_set_rc16m_bbpll_32m 0x110171e9 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_32m) + xc_clock_set_rc16m_bbpll_48m 0x1101721d Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_48m) + xc_clock_set_rc16m_bbpll_64m 0x11017251 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_64m) + xc_clock_set_rc16m_bbpll_96m 0x11017285 Thumb Code 42 xc_drv_clock.o(i.xc_clock_set_rc16m_bbpll_96m) + xc_fota_dev_ack_cmd 0x110172b9 Thumb Code 36 ota_protocol.o(i.xc_fota_dev_ack_cmd) + xc_gpio_direction_config 0x110172e1 Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_direction_config) + xc_gpio_fun_sel 0x110172fd Thumb Code 36 xc_drv_gpio.o(i.xc_gpio_fun_sel) + xc_gpio_init 0x11017325 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_init) + xc_gpio_it_config 0x11017355 Thumb Code 46 xc_drv_gpio.o(i.xc_gpio_it_config) + xc_gpio_mux_ctl 0x11017389 Thumb Code 70 xc_drv_gpio.o(i.xc_gpio_mux_ctl) + xc_gpio_pull_config 0x110173d5 Thumb Code 228 xc_drv_gpio.o(i.xc_gpio_pull_config) + xc_gpio_read_pin 0x110174bd Thumb Code 30 xc_drv_gpio.o(i.xc_gpio_read_pin) + xc_gpio_write_pin 0x110174e1 Thumb Code 24 xc_drv_gpio.o(i.xc_gpio_write_pin) + xc_ota_schedule 0x110174fd Thumb Code 56 ota_protocol.o(i.xc_ota_schedule) + xc_pwm_dutycycle_set 0x1101753d Thumb Code 68 xc_drv_pwm.o(i.xc_pwm_dutycycle_set) + xc_pwm_init 0x11017589 Thumb Code 206 xc_drv_pwm.o(i.xc_pwm_init) + xc_pwm_start 0x11017669 Thumb Code 22 xc_drv_pwm.o(i.xc_pwm_start) + xc_pwm_stop 0x11017689 Thumb Code 20 xc_drv_pwm.o(i.xc_pwm_stop) + xc_pwr_vol_set 0x110176a5 Thumb Code 68 xc_drv_pwr.o(i.xc_pwr_vol_set) + xc_timer_init 0x110176f9 Thumb Code 274 xc_drv_timer.o(i.xc_timer_init) + xc_timer_set_value 0x11017819 Thumb Code 32 xc_drv_timer.o(i.xc_timer_set_value) + xc_timer_start 0x11017841 Thumb Code 48 xc_drv_timer.o(i.xc_timer_start) + xc_timer_stop 0x1101787d Thumb Code 18 xc_drv_timer.o(i.xc_timer_stop) + xc_uart_init 0x11017965 Thumb Code 440 xc_drv_uart.o(i.xc_uart_init) + xc_unique_identification_read 0x11017b31 Thumb Code 228 xc_drv_fmc_spi.o(i.xc_unique_identification_read) + xc_wdt_init 0x11017c19 Thumb Code 100 xc_drv_wdt.o(i.xc_wdt_init) + xc_wdt_refresh 0x11017c89 Thumb Code 36 xc_drv_wdt.o(i.xc_wdt_refresh) + xc_wdt_reload 0x11017cb5 Thumb Code 42 xc_drv_wdt.o(i.xc_wdt_reload) + xc_wdt_start 0x11017ced Thumb Code 44 xc_drv_wdt.o(i.xc_wdt_start) + _get_lc_numeric 0x11017d21 Thumb Code 44 lc_numeric_c.o(locale$$code) + _get_lc_ctype 0x11017d4d Thumb Code 44 lc_ctype_c.o(locale$$code) + _printf_fp_dec 0x11017d79 Thumb Code 16 printf1.o(x$fpl$printf1) + _printf_fp_hex 0x11017d89 Thumb Code 16 printf2.o(x$fpl$printf2) + __I$use$fp 0x11017d98 Number 0 usenofp.o(x$fpl$usenofp) + app_msg_handler_tab 0x11017d98 Data 40 app_task.o(.constdata) + TASK_DESC_APP 0x11017dc0 Data 12 app_task.o(.constdata) + Region$$Table$$Base 0x1101840c Number 0 anon$$obj.o(Region$$Table) + Region$$Table$$Limit 0x1101844c Number 0 anon$$obj.o(Region$$Table) + __ctype 0x11018475 Data 0 lc_ctype_c.o(locale$$data) fota_env 0x530077b0 Data 2091 ota_protocol.o(ram_em) @@ -3808,37 +3794,37 @@ Memory Map of the image Image Entry point : 0x110110c1 - Load Region LOAD (Base: 0x11011000, Size: 0x000092f8, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000088f8]) + Load Region LOAD (Base: 0x11011000, Size: 0x000090d4, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000086e4]) - Execution Region RW (Exec base: 0x10003400, Load base: 0x11018784, Size: 0x00002258, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000000f8]) + Execution Region RW (Exec base: 0x10003400, Load base: 0x11018578, Size: 0x00002240, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x000000f0]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object - 0x10003400 0x11018784 0x00000040 Code RO 6169 .text c_p.l(rt_memclr.o) - 0x10003440 0x110187c4 0x00000022 Code RO 6171 .text c_p.l(uread4.o) - 0x10003462 0x110187e6 0x0000015a Code RO 6175 .text c_p.l(aeabi_sdiv.o) - 0x100035bc 0x11018940 0x0000000c Ven RO 6496 Veneer$$Code anon$$obj.o - 0x100035c8 0x1101894c 0x0000000c Ven RO 6497 Veneer$$Code anon$$obj.o - 0x100035d4 0x11018958 0x0000000c Ven RO 6498 Veneer$$Code anon$$obj.o - 0x100035e0 0x11018964 0x0000000c Ven RO 6499 Veneer$$Code anon$$obj.o - 0x100035ec 0x11018970 0x0000000c Ven RO 6500 Veneer$$Code anon$$obj.o - 0x100035f8 0x1101897c 0x0000000c Ven RO 6501 Veneer$$Code anon$$obj.o - 0x10003604 0x11018988 0x0000000c Ven RO 6502 Veneer$$Code anon$$obj.o - 0x10003610 0x11018994 0x0000000c Ven RO 6503 Veneer$$Code anon$$obj.o - 0x1000361c 0x110189a0 0x0000000c Ven RO 6504 Veneer$$Code anon$$obj.o - 0x10003628 0x110189ac 0x0000000c Ven RO 6505 Veneer$$Code anon$$obj.o - 0x10003634 0x110189b8 0x0000000c Ven RO 6506 Veneer$$Code anon$$obj.o - 0x10003640 0x110189c4 0x0000000c Ven RO 6507 Veneer$$Code anon$$obj.o - 0x1000364c 0x110189d0 0x00000018 Code RO 17 ram_code system_xinc.o - 0x10003664 0x110189e8 0x00000054 Code RO 706 ram_code arch_main.o - 0x100036b8 0x11018a3c 0x000000f0 Code RO 1233 ram_code usr_server.o - 0x100037a8 0x11018b2c 0x000001d4 Code RO 1329 ram_code xc_drv_dma.o - 0x1000397c 0x11018d00 0x0000000e Code RO 2242 ram_code rf_extrc.o + 0x10003400 0x11018578 0x00000040 Code RO 6169 .text c_p.l(rt_memclr.o) + 0x10003440 0x110185b8 0x00000022 Code RO 6171 .text c_p.l(uread4.o) + 0x10003462 0x110185da 0x0000015a Code RO 6175 .text c_p.l(aeabi_sdiv.o) + 0x100035bc 0x11018734 0x0000000c Ven RO 6496 Veneer$$Code anon$$obj.o + 0x100035c8 0x11018740 0x0000000c Ven RO 6497 Veneer$$Code anon$$obj.o + 0x100035d4 0x1101874c 0x0000000c Ven RO 6498 Veneer$$Code anon$$obj.o + 0x100035e0 0x11018758 0x0000000c Ven RO 6499 Veneer$$Code anon$$obj.o + 0x100035ec 0x11018764 0x0000000c Ven RO 6500 Veneer$$Code anon$$obj.o + 0x100035f8 0x11018770 0x0000000c Ven RO 6501 Veneer$$Code anon$$obj.o + 0x10003604 0x1101877c 0x0000000c Ven RO 6502 Veneer$$Code anon$$obj.o + 0x10003610 0x11018788 0x0000000c Ven RO 6503 Veneer$$Code anon$$obj.o + 0x1000361c 0x11018794 0x0000000c Ven RO 6504 Veneer$$Code anon$$obj.o + 0x10003628 0x110187a0 0x0000000c Ven RO 6505 Veneer$$Code anon$$obj.o + 0x10003634 0x110187ac 0x0000000c Ven RO 6506 Veneer$$Code anon$$obj.o + 0x10003640 0x110187b8 0x0000000c Ven RO 6507 Veneer$$Code anon$$obj.o + 0x1000364c 0x110187c4 0x00000018 Code RO 17 ram_code system_xinc.o + 0x10003664 0x110187dc 0x00000054 Code RO 706 ram_code arch_main.o + 0x100036b8 0x11018830 0x000000f0 Code RO 1233 ram_code usr_server.o + 0x100037a8 0x11018920 0x000001d4 Code RO 1329 ram_code xc_drv_dma.o + 0x1000397c 0x11018af4 0x0000000e Code RO 2242 ram_code rf_extrc.o 0x1000398a COMPRESSED 0x00000002 PAD - 0x1000398c 0x11018d10 0x0000003c Code RO 3243 ram_code xc_drv_timer.o - 0x100039c8 0x11018d4c 0x00000628 Code RO 3738 ram_code xc_drv_fmc_spi.o - 0x10003ff0 0x11019374 0x00000034 Code RO 5219 ram_code timer.o - 0x10004024 0x110193a8 0x00000444 Code RO 5847 ram_code bridge_pwm.o + 0x1000398c 0x11018b04 0x0000003c Code RO 3243 ram_code xc_drv_timer.o + 0x100039c8 0x11018b40 0x00000628 Code RO 3738 ram_code xc_drv_fmc_spi.o + 0x10003ff0 0x11019168 0x00000034 Code RO 5219 ram_code timer.o + 0x10004024 0x1101919c 0x00000444 Code RO 5847 ram_code bridge_pwm.o 0x10004468 COMPRESSED 0x00000004 Data RW 18 .data system_xinc.o 0x1000446c COMPRESSED 0x0000003a Data RW 551 .data app_task.o 0x100044a6 COMPRESSED 0x00000001 Data RW 554 .data app_task.o @@ -3863,35 +3849,35 @@ Memory Map of the image 0x10004508 COMPRESSED 0x0000000c Data RW 4343 .data xc_drv_aotimer.o 0x10004514 COMPRESSED 0x00000024 Data RW 4458 .data xc_drv_rtc.o 0x10004538 COMPRESSED 0x00000010 Data RW 5224 .data timer.o - 0x10004548 COMPRESSED 0x000000e0 Data RW 5304 .data timeslice.o - 0x10004628 COMPRESSED 0x00000004 Data RW 5417 .data rgblight.o - 0x1000462c COMPRESSED 0x00000044 Data RW 5468 .data mode.o - 0x10004670 COMPRESSED 0x00000060 Data RW 5568 .data rf433.o - 0x100046d0 COMPRESSED 0x00000004 Data RW 5569 .data rf433.o - 0x100046d4 COMPRESSED 0x00000001 Data RW 5570 .data rf433.o - 0x100046d5 COMPRESSED 0x00000003 PAD - 0x100046d8 COMPRESSED 0x00000010 Data RW 5759 .data pwm.o - 0x100046e8 COMPRESSED 0x00000038 Data RW 5849 .data bridge_pwm.o - 0x10004720 COMPRESSED 0x0000001c Data RW 5932 .data light_transition.o - 0x1000473c COMPRESSED 0x0000000a Data RW 6003 .data external_key.o - 0x10004746 COMPRESSED 0x00000002 Data RW 6048 .data fmc_spi.o - 0x10004748 - 0x00000210 Zero RW 1040 .bss ota_flash_interface.o - 0x10004958 - 0x00000114 Zero RW 1112 .bss ota_protocol.o - 0x10004a6c - 0x0000001c Zero RW 1340 .bss xc_drv_dma.o - 0x10004a88 - 0x00000010 Zero RW 2517 .bss xc_drv_clock.o - 0x10004a98 - 0x00000040 Zero RW 3996 .bss xc_drv_adc.o - 0x10004ad8 - 0x00000019 Zero RW 5414 .bss rgblight.o - 0x10004af1 COMPRESSED 0x00000003 PAD - 0x10004af4 - 0x0000001c Zero RW 5690 .bss rf433_decoder.o - 0x10004b10 - 0x00000100 Zero RW 6047 .bss fmc_spi.o - 0x10004c10 - 0x000000e4 Zero RW 6160 .bss c_p.l(rand.o) - 0x10004cf4 - 0x00000060 Zero RW 6386 .bss c_p.l(libspace.o) - 0x10004d54 COMPRESSED 0x00000004 PAD - 0x10004d58 - 0x00000100 Zero RW 2 HEAP startup_xinc.o - 0x10004e58 - 0x00000800 Zero RW 1 STACK startup_xinc.o + 0x10004548 COMPRESSED 0x000000d0 Data RW 5304 .data timeslice.o + 0x10004618 COMPRESSED 0x00000004 Data RW 5417 .data rgblight.o + 0x1000461c COMPRESSED 0x00000044 Data RW 5468 .data mode.o + 0x10004660 COMPRESSED 0x00000060 Data RW 5568 .data rf433.o + 0x100046c0 COMPRESSED 0x00000004 Data RW 5569 .data rf433.o + 0x100046c4 COMPRESSED 0x00000001 Data RW 5570 .data rf433.o + 0x100046c5 COMPRESSED 0x00000003 PAD + 0x100046c8 COMPRESSED 0x00000010 Data RW 5759 .data pwm.o + 0x100046d8 COMPRESSED 0x00000038 Data RW 5849 .data bridge_pwm.o + 0x10004710 COMPRESSED 0x0000001c Data RW 5932 .data light_transition.o + 0x1000472c COMPRESSED 0x00000002 Data RW 6048 .data fmc_spi.o + 0x1000472e COMPRESSED 0x00000002 PAD + 0x10004730 - 0x00000210 Zero RW 1040 .bss ota_flash_interface.o + 0x10004940 - 0x00000114 Zero RW 1112 .bss ota_protocol.o + 0x10004a54 - 0x0000001c Zero RW 1340 .bss xc_drv_dma.o + 0x10004a70 - 0x00000010 Zero RW 2517 .bss xc_drv_clock.o + 0x10004a80 - 0x00000040 Zero RW 3996 .bss xc_drv_adc.o + 0x10004ac0 - 0x00000019 Zero RW 5414 .bss rgblight.o + 0x10004ad9 COMPRESSED 0x00000003 PAD + 0x10004adc - 0x0000001c Zero RW 5690 .bss rf433_decoder.o + 0x10004af8 - 0x00000100 Zero RW 6047 .bss fmc_spi.o + 0x10004bf8 - 0x000000e4 Zero RW 6160 .bss c_p.l(rand.o) + 0x10004cdc - 0x00000060 Zero RW 6386 .bss c_p.l(libspace.o) + 0x10004d3c COMPRESSED 0x00000004 PAD + 0x10004d40 - 0x00000100 Zero RW 2 HEAP startup_xinc.o + 0x10004e40 - 0x00000800 Zero RW 1 STACK startup_xinc.o - Execution Region EXE (Exec base: 0x11011000, Load base: 0x11011000, Size: 0x00007784, Max: 0xffffffff, ABSOLUTE) + Execution Region EXE (Exec base: 0x11011000, Load base: 0x11011000, Size: 0x00007578, Max: 0xffffffff, ABSOLUTE) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -4108,17 +4094,17 @@ Memory Map of the image 0x11013fa4 0x11013fa4 0x00000074 Code RO 525 i.app_create_advertising_non_conn app_task.o 0x11014018 0x11014018 0x0000003c Code RO 526 i.app_create_scan app_task.o 0x11014054 0x11014054 0x00000048 Code RO 527 i.app_delete_advertising app_task.o - 0x1101409c 0x1101409c 0x00000028 Code RO 528 i.app_get_dev_name app_task.o - 0x110140c4 0x110140c4 0x00000028 Code RO 529 i.app_init app_task.o - 0x110140ec 0x110140ec 0x00000034 Code RO 530 i.app_mode_switch_handler app_task.o - 0x11014120 0x11014120 0x0000002e Code RO 531 i.app_msg_handler app_task.o - 0x1101414e 0x1101414e 0x00000002 PAD - 0x11014150 0x11014150 0x0000003c Code RO 1034 i.app_op_flash ota_flash_interface.o - 0x1101418c 0x1101418c 0x00000018 Code RO 1035 i.app_op_flash_on ota_flash_interface.o - 0x110141a4 0x110141a4 0x00000048 Code RO 532 i.app_scan_start_handler app_task.o - 0x110141ec 0x110141ec 0x00000044 Code RO 533 i.app_scan_stop_handler app_task.o - 0x11014230 0x11014230 0x00000030 Code RO 534 i.app_second_adv_start_handler app_task.o - 0x11014260 0x11014260 0x00000068 Code RO 535 i.app_set_adv_data app_task.o + 0x1101409c 0x1101409c 0x00000024 Code RO 528 i.app_get_dev_name app_task.o + 0x110140c0 0x110140c0 0x00000028 Code RO 529 i.app_init app_task.o + 0x110140e8 0x110140e8 0x00000034 Code RO 530 i.app_mode_switch_handler app_task.o + 0x1101411c 0x1101411c 0x0000002e Code RO 531 i.app_msg_handler app_task.o + 0x1101414a 0x1101414a 0x00000002 PAD + 0x1101414c 0x1101414c 0x0000003c Code RO 1034 i.app_op_flash ota_flash_interface.o + 0x11014188 0x11014188 0x00000018 Code RO 1035 i.app_op_flash_on ota_flash_interface.o + 0x110141a0 0x110141a0 0x00000048 Code RO 532 i.app_scan_start_handler app_task.o + 0x110141e8 0x110141e8 0x00000044 Code RO 533 i.app_scan_stop_handler app_task.o + 0x1101422c 0x1101422c 0x00000030 Code RO 534 i.app_second_adv_start_handler app_task.o + 0x1101425c 0x1101425c 0x0000006c Code RO 535 i.app_set_adv_data app_task.o 0x110142c8 0x110142c8 0x00000078 Code RO 538 i.app_start_advertising app_task.o 0x11014340 0x11014340 0x00000068 Code RO 539 i.app_start_scan app_task.o 0x110143a8 0x110143a8 0x0000003c Code RO 541 i.app_stop_scanning app_task.o @@ -4151,194 +4137,188 @@ Memory Map of the image 0x11014c80 0x11014c80 0x00000016 Code RO 2229 i.delay_ms_test rf_extrc.o 0x11014c96 0x11014c96 0x00000002 PAD 0x11014c98 0x11014c98 0x00000028 Code RO 5927 i.effect_gamma_output light_transition.o - 0x11014cc0 0x11014cc0 0x00000064 Code RO 5998 i.external_key_adjust_step external_key.o - 0x11014d24 0x11014d24 0x00000020 Code RO 5999 i.external_key_init external_key.o - 0x11014d44 0x11014d44 0x00000028 Code RO 6000 i.external_key_long_start external_key.o - 0x11014d6c 0x11014d6c 0x0000000e Code RO 6001 i.external_key_save_later external_key.o - 0x11014d7a 0x11014d7a 0x00000002 PAD - 0x11014d7c 0x11014d7c 0x0000014c Code RO 6002 i.external_key_scan external_key.o - 0x11014ec8 0x11014ec8 0x0000000e Code RO 3733 i.extract32_16 xc_drv_fmc_spi.o - 0x11014ed6 0x11014ed6 0x00000006 Code RO 15 i.ferror system_xinc.o - 0x11014edc 0x11014edc 0x00000054 Code RO 700 i.flash_init arch_main.o - 0x11014f30 0x11014f30 0x00000056 Code RO 3734 i.flash_size_and_type_get xc_drv_fmc_spi.o - 0x11014f86 0x11014f86 0x00000002 PAD - 0x11014f88 0x11014f88 0x0000002c Code RO 6041 i.fmc_spi_read fmc_spi.o - 0x11014fb4 0x11014fb4 0x00000394 Code RO 543 i.gapc_callback app_task.o - 0x11015348 0x11015348 0x00000068 Code RO 544 i.gapc_get_device_info_req_ind app_task.o - 0x110153b0 0x110153b0 0x00000158 Code RO 545 i.gapm_callback app_task.o - 0x11015508 0x11015508 0x000000e4 Code RO 546 i.gapm_cmp_evt app_task.o - 0x110155ec 0x110155ec 0x00000008 Code RO 547 i.get_app_env app_task.o - 0x110155f4 0x110155f4 0x0000001c Code RO 6042 i.get_checksum fmc_spi.o - 0x11015610 0x11015610 0x00000002 Code RO 2737 i.gpio_intr_callback xc_drv_gpio.o - 0x11015612 0x11015612 0x00000002 PAD - 0x11015614 0x11015614 0x00000094 Code RO 5928 i.interpolate_mode_output light_transition.o - 0x110156a8 0x110156a8 0x0000003c Code RO 5464 i.jump_fun mode.o - 0x110156e4 0x110156e4 0x00000064 Code RO 701 i.main arch_main.o - 0x11015748 0x11015748 0x00000114 Code RO 2230 i.modem_init rf_extrc.o - 0x1101585c 0x1101585c 0x0000005c Code RO 5465 i.neutral_breathe_fun mode.o - 0x110158b8 0x110158b8 0x0000009c Code RO 963 i.ota_slave_send_data ota_server.o - 0x11015954 0x11015954 0x00000010 Code RO 964 i.ota_srv_get_hdl_from_att_idx ota_server.o - 0x11015964 0x11015964 0x0000003c Code RO 1102 i.ota_write_flash ota_protocol.o - 0x110159a0 0x110159a0 0x00000058 Code RO 5929 i.output_brightness_scale_for_level light_transition.o - 0x110159f8 0x110159f8 0x00000080 Code RO 6043 i.power_restore_apply_on_boot fmc_spi.o - 0x11015a78 0x11015a78 0x00000028 Code RO 6044 i.power_restore_policy_set fmc_spi.o - 0x11015aa0 0x11015aa0 0x00000004 Code RO 1784 i.pwm_capture_ch0_callback xc_drv_pwm.o - 0x11015aa4 0x11015aa4 0x00000004 Code RO 1785 i.pwm_capture_ch1_callback xc_drv_pwm.o - 0x11015aa8 0x11015aa8 0x00000004 Code RO 1786 i.pwm_capture_ch2_callback xc_drv_pwm.o - 0x11015aac 0x11015aac 0x0000001e Code RO 1787 i.pwm_freq_to_period xc_drv_pwm.o - 0x11015aca 0x11015aca 0x0000009e Code RO 1788 i.pwm_pin_set xc_drv_pwm.o - 0x11015b68 0x11015b68 0x00000164 Code RO 6045 i.read_user_data fmc_spi.o - 0x11015ccc 0x11015ccc 0x0000000e Code RO 3735 i.reverse_verif_is_true xc_drv_fmc_spi.o - 0x11015cda 0x11015cda 0x00000002 PAD - 0x11015cdc 0x11015cdc 0x00000034 Code RO 5561 i.rf433_cancel_pairing rf433.o - 0x11015d10 0x11015d10 0x00000058 Code RO 5562 i.rf433_clear_code rf433.o - 0x11015d68 0x11015d68 0x00000044 Code RO 5682 i.rf433_decode_bit rf433_decoder.o - 0x11015dac 0x11015dac 0x00000028 Code RO 5683 i.rf433_decoder_get_frame rf433_decoder.o - 0x11015dd4 0x11015dd4 0x00000018 Code RO 5685 i.rf433_decoder_init rf433_decoder.o - 0x11015dec 0x11015dec 0x00000002 Code RO 5686 i.rf433_decoder_process rf433_decoder.o - 0x11015dee 0x11015dee 0x00000002 PAD - 0x11015df0 0x11015df0 0x00000098 Code RO 5687 i.rf433_decoder_sample rf433_decoder.o - 0x11015e88 0x11015e88 0x00000020 Code RO 5563 i.rf433_gpio_init rf433.o - 0x11015ea8 0x11015ea8 0x00000010 Code RO 5688 i.rf433_in_range rf433_decoder.o - 0x11015eb8 0x11015eb8 0x00000014 Code RO 5689 i.rf433_increment_saturated rf433_decoder.o - 0x11015ecc 0x11015ecc 0x0000002c Code RO 5564 i.rf433_paired_count rf433.o - 0x11015ef8 0x11015ef8 0x0000006c Code RO 5565 i.rf433_receive rf433.o - 0x11015f64 0x11015f64 0x00000044 Code RO 5566 i.rf433_start_pairing rf433.o - 0x11015fa8 0x11015fa8 0x00000002 Code RO 2231 i.rf_force_agc_enable rf_extrc.o - 0x11015faa 0x11015faa 0x00000002 PAD - 0x11015fac 0x11015fac 0x00000154 Code RO 2232 i.rf_init rf_extrc.o - 0x11016100 0x11016100 0x00000120 Code RO 2233 i.rf_rccalib rf_extrc.o - 0x11016220 0x11016220 0x00000004 Code RO 2234 i.rf_reg_rd rf_extrc.o - 0x11016224 0x11016224 0x00000002 Code RO 2235 i.rf_reg_wr rf_extrc.o - 0x11016226 0x11016226 0x00000002 Code RO 2236 i.rf_reset rf_extrc.o - 0x11016228 0x11016228 0x00000012 Code RO 2237 i.rf_sleep rf_extrc.o - 0x1101623a 0x1101623a 0x00000002 PAD - 0x1101623c 0x1101623c 0x0000004c Code RO 2238 i.rf_txpwr_cs_get rf_extrc.o - 0x11016288 0x11016288 0x0000000c Code RO 2239 i.rf_txpwr_dbm_get rf_extrc.o - 0x11016294 0x11016294 0x00000020 Code RO 703 i.rom_env_host_init arch_main.o - 0x110162b4 0x110162b4 0x00000080 Code RO 5567 i.scan_433 rf433.o - 0x11016334 0x11016334 0x0000019c Code RO 5356 i.scan_uart uart_1.o - 0x110164d0 0x110164d0 0x00000010 Code RO 5303 i.set_TaskComps_timer timeslice.o - 0x110164e0 0x110164e0 0x00000148 Code RO 5466 i.set_mode mode.o - 0x11016628 0x11016628 0x0000002c Code RO 16 i.set_vector system_xinc.o - 0x11016654 0x11016654 0x000000ac Code RO 1231 i.slave_send_data usr_server.o - 0x11016700 0x11016700 0x00000010 Code RO 1232 i.srv_get_hdl_from_att_idx usr_server.o - 0x11016710 0x11016710 0x00000014 Code RO 704 i.stack_tag arch_main.o - 0x11016724 0x11016724 0x00000008 Code RO 5212 i.startTimer timer.o - 0x1101672c 0x1101672c 0x00000002 Code RO 3698 i.systick_callback xc_drv_systick.o - 0x1101672e 0x1101672e 0x00000002 PAD - 0x11016730 0x11016730 0x00000034 Code RO 5748 i.temperature pwm.o - 0x11016764 0x11016764 0x00000094 Code RO 5214 i.timer0_2_init timer.o - 0x110167f8 0x110167f8 0x000000a8 Code RO 3439 i.uart_user_handler xc_drv_uart.o - 0x110168a0 0x110168a0 0x00000016 Code RO 5218 i.updateTimer timer.o - 0x110168b6 0x110168b6 0x00000002 PAD - 0x110168b8 0x110168b8 0x00000078 Code RO 5930 i.update_power_fade light_transition.o - 0x11016930 0x11016930 0x00000058 Code RO 2241 i.wbit rf_extrc.o - 0x11016988 0x11016988 0x0000001a Code RO 705 i.wdt_init arch_main.o - 0x110169a2 0x110169a2 0x00000002 PAD - 0x110169a4 0x110169a4 0x00000100 Code RO 6046 i.wright_user_data fmc_spi.o - 0x11016aa4 0x11016aa4 0x000000a4 Code RO 3736 i.xc_adc_2v4_calibrate_read xc_drv_fmc_spi.o - 0x11016b48 0x11016b48 0x0000007c Code RO 3981 i.xc_adc_data_average xc_drv_adc.o - 0x11016bc4 0x11016bc4 0x00000018 Code RO 3987 i.xc_adc_fifo_flush xc_drv_adc.o - 0x11016bdc 0x11016bdc 0x000000dc Code RO 3989 i.xc_adc_init xc_drv_adc.o - 0x11016cb8 0x11016cb8 0x000000cc Code RO 3994 i.xc_adc_start_get_value xc_drv_adc.o - 0x11016d84 0x11016d84 0x00000028 Code RO 4890 i.xc_ble_activity_delete xc_gap_api.o - 0x11016dac 0x11016dac 0x00000028 Code RO 4891 i.xc_ble_activity_stop xc_gap_api.o - 0x11016dd4 0x11016dd4 0x00000028 Code RO 4892 i.xc_ble_advertise_create xc_gap_api.o - 0x11016dfc 0x11016dfc 0x0000002c Code RO 4893 i.xc_ble_advertise_start xc_gap_api.o - 0x11016e28 0x11016e28 0x0000002c Code RO 4896 i.xc_ble_conn_cfm xc_gap_api.o - 0x11016e54 0x11016e54 0x0000001c Code RO 4900 i.xc_ble_gapm_reset xc_gap_api.o - 0x11016e70 0x11016e70 0x0000000a Code RO 5119 i.xc_ble_gatt_cli_mtu_exch xc_gatt_client_api.o - 0x11016e7a 0x11016e7a 0x00000016 Code RO 5132 i.xc_ble_gatt_service16_add xc_gatt_server_api.o - 0x11016e90 0x11016e90 0x0000004a Code RO 5135 i.xc_ble_gatt_srv_notify xc_gatt_server_api.o - 0x11016eda 0x11016eda 0x00000052 Code RO 5136 i.xc_ble_gatt_srv_read_cfm xc_gatt_server_api.o - 0x11016f2c 0x11016f2c 0x00000008 Code RO 5137 i.xc_ble_gatt_srv_write_cfm xc_gatt_server_api.o - 0x11016f34 0x11016f34 0x00000008 Code RO 5138 i.xc_ble_gatt_user_srv_register xc_gatt_server_api.o - 0x11016f3c 0x11016f3c 0x00000038 Code RO 4904 i.xc_ble_get_dev_info_cfm xc_gap_api.o - 0x11016f74 0x11016f74 0x00000034 Code RO 4910 i.xc_ble_param_update_cfm xc_gap_api.o - 0x11016fa8 0x11016fa8 0x00000024 Code RO 4913 i.xc_ble_scan_create xc_gap_api.o - 0x11016fcc 0x11016fcc 0x0000002c Code RO 4914 i.xc_ble_scan_start xc_gap_api.o - 0x11016ff8 0x11016ff8 0x00000038 Code RO 4915 i.xc_ble_set_adv_data xc_gap_api.o - 0x11017030 0x11017030 0x0000002c Code RO 4917 i.xc_ble_set_dev_config xc_gap_api.o - 0x1101705c 0x1101705c 0x00000028 Code RO 4918 i.xc_ble_set_dev_info_cfm xc_gap_api.o - 0x11017084 0x11017084 0x00000040 Code RO 2495 i.xc_clock_bbpll_common_cfg xc_drv_clock.o - 0x110170c4 0x110170c4 0x00000080 Code RO 2496 i.xc_clock_bbpll_freq_cfg xc_drv_clock.o - 0x11017144 0x11017144 0x0000000c Code RO 2497 i.xc_clock_hfclk_in_get xc_drv_clock.o - 0x11017150 0x11017150 0x000000c4 Code RO 2498 i.xc_clock_hfclk_set xc_drv_clock.o - 0x11017214 0x11017214 0x0000001a Code RO 2500 i.xc_clock_init_cfg xc_drv_clock.o - 0x1101722e 0x1101722e 0x00000002 PAD - 0x11017230 0x11017230 0x0000000c Code RO 2501 i.xc_clock_lfclk_in_get xc_drv_clock.o - 0x1101723c 0x1101723c 0x0000006c Code RO 2502 i.xc_clock_lfclk_set xc_drv_clock.o - 0x110172a8 0x110172a8 0x00000034 Code RO 2506 i.xc_clock_set_osc32m_bbpll_32m xc_drv_clock.o - 0x110172dc 0x110172dc 0x00000034 Code RO 2507 i.xc_clock_set_osc32m_bbpll_48m xc_drv_clock.o - 0x11017310 0x11017310 0x00000034 Code RO 2508 i.xc_clock_set_osc32m_bbpll_64m xc_drv_clock.o - 0x11017344 0x11017344 0x00000034 Code RO 2509 i.xc_clock_set_osc32m_bbpll_96m xc_drv_clock.o - 0x11017378 0x11017378 0x0000005c Code RO 2510 i.xc_clock_set_osc32m_div_16m xc_drv_clock.o - 0x110173d4 0x110173d4 0x00000020 Code RO 2511 i.xc_clock_set_rc16m xc_drv_clock.o - 0x110173f4 0x110173f4 0x00000034 Code RO 2512 i.xc_clock_set_rc16m_bbpll_32m xc_drv_clock.o - 0x11017428 0x11017428 0x00000034 Code RO 2513 i.xc_clock_set_rc16m_bbpll_48m xc_drv_clock.o - 0x1101745c 0x1101745c 0x00000034 Code RO 2514 i.xc_clock_set_rc16m_bbpll_64m xc_drv_clock.o - 0x11017490 0x11017490 0x00000034 Code RO 2515 i.xc_clock_set_rc16m_bbpll_96m xc_drv_clock.o - 0x110174c4 0x110174c4 0x00000028 Code RO 1106 i.xc_fota_dev_ack_cmd ota_protocol.o - 0x110174ec 0x110174ec 0x0000001c Code RO 2738 i.xc_gpio_direction_config xc_drv_gpio.o - 0x11017508 0x11017508 0x00000028 Code RO 2739 i.xc_gpio_fun_sel xc_drv_gpio.o - 0x11017530 0x11017530 0x0000002e Code RO 2740 i.xc_gpio_init xc_drv_gpio.o - 0x1101755e 0x1101755e 0x00000002 PAD - 0x11017560 0x11017560 0x00000034 Code RO 2741 i.xc_gpio_it_config xc_drv_gpio.o - 0x11017594 0x11017594 0x0000004c Code RO 2742 i.xc_gpio_mux_ctl xc_drv_gpio.o - 0x110175e0 0x110175e0 0x000000e8 Code RO 2743 i.xc_gpio_pull_config xc_drv_gpio.o - 0x110176c8 0x110176c8 0x00000024 Code RO 2744 i.xc_gpio_read_pin xc_drv_gpio.o - 0x110176ec 0x110176ec 0x0000001c Code RO 2746 i.xc_gpio_write_pin xc_drv_gpio.o - 0x11017708 0x11017708 0x00000040 Code RO 1110 i.xc_ota_schedule ota_protocol.o - 0x11017748 0x11017748 0x0000004c Code RO 1811 i.xc_pwm_dutycycle_set xc_drv_pwm.o - 0x11017794 0x11017794 0x000000e0 Code RO 1812 i.xc_pwm_init xc_drv_pwm.o - 0x11017874 0x11017874 0x00000020 Code RO 1816 i.xc_pwm_start xc_drv_pwm.o - 0x11017894 0x11017894 0x0000001c Code RO 1818 i.xc_pwm_stop xc_drv_pwm.o - 0x110178b0 0x110178b0 0x00000054 Code RO 2912 i.xc_pwr_vol_set xc_drv_pwr.o - 0x11017904 0x11017904 0x00000120 Code RO 3237 i.xc_timer_init xc_drv_timer.o - 0x11017a24 0x11017a24 0x00000028 Code RO 3238 i.xc_timer_set_value xc_drv_timer.o - 0x11017a4c 0x11017a4c 0x0000003c Code RO 3239 i.xc_timer_start xc_drv_timer.o - 0x11017a88 0x11017a88 0x0000001c Code RO 3241 i.xc_timer_stop xc_drv_timer.o - 0x11017aa4 0x11017aa4 0x000000cc Code RO 3242 i.xc_timer_us_to_ticks xc_drv_timer.o - 0x11017b70 0x11017b70 0x000001cc Code RO 3443 i.xc_uart_init xc_drv_uart.o - 0x11017d3c 0x11017d3c 0x000000e8 Code RO 3737 i.xc_unique_identification_read xc_drv_fmc_spi.o - 0x11017e24 0x11017e24 0x00000070 Code RO 3631 i.xc_wdt_init xc_drv_wdt.o - 0x11017e94 0x11017e94 0x0000002c Code RO 3632 i.xc_wdt_refresh xc_drv_wdt.o - 0x11017ec0 0x11017ec0 0x00000038 Code RO 3633 i.xc_wdt_reload xc_drv_wdt.o - 0x11017ef8 0x11017ef8 0x00000034 Code RO 3634 i.xc_wdt_start xc_drv_wdt.o - 0x11017f2c 0x11017f2c 0x0000002c Code RO 6361 locale$$code c_p.l(lc_numeric_c.o) - 0x11017f58 0x11017f58 0x0000002c Code RO 6396 locale$$code c_p.l(lc_ctype_c.o) - 0x11017f84 0x11017f84 0x00000010 Code RO 6296 x$fpl$printf1 fz_ps.l(printf1.o) - 0x11017f94 0x11017f94 0x00000010 Code RO 6298 x$fpl$printf2 fz_ps.l(printf2.o) - 0x11017fa4 0x11017fa4 0x00000000 Code RO 6304 x$fpl$usenofp fz_ps.l(usenofp.o) - 0x11017fa4 0x11017fa4 0x00000028 Data RO 548 .constdata app_task.o - 0x11017fcc 0x11017fcc 0x00000058 Data RO 549 .constdata app_task.o - 0x11018024 0x11018024 0x0000007c Data RO 1234 .constdata usr_server.o - 0x110180a0 0x110180a0 0x0000000c Data RO 1828 .constdata xc_drv_pwm.o - 0x110180ac 0x110180ac 0x00000008 Data RO 2243 .constdata rf_extrc.o - 0x110180b4 0x110180b4 0x00000004 Data RO 3244 .constdata xc_drv_timer.o - 0x110180b8 0x110180b8 0x00000006 Data RO 3449 .constdata xc_drv_uart.o - 0x110180be 0x110180be 0x00000002 Data RO 4342 .constdata xc_drv_aotimer.o - 0x110180c0 0x110180c0 0x00000016 Data RO 5467 .constdata mode.o - 0x110180d6 0x110180d6 0x00000004 Data RO 5848 .constdata bridge_pwm.o - 0x110180da 0x110180da 0x00000324 Data RO 5931 .constdata light_transition.o - 0x110183fe 0x110183fe 0x00000028 Data RO 6131 .constdata c_p.l(_printf_hex_int_ll_ptr.o) - 0x11018426 0x11018426 0x00000011 Data RO 6151 .constdata c_p.l(__printf_flags_ss_wp.o) - 0x11018437 0x11018437 0x00000001 PAD - 0x11018438 0x11018438 0x00000008 Data RO 6220 .constdata c_p.l(_printf_wctomb.o) - 0x11018440 0x11018440 0x00000026 Data RO 6327 .constdata c_p.l(_printf_fp_hex.o) - 0x11018466 0x11018466 0x00000002 PAD - 0x11018468 0x11018468 0x00000094 Data RO 6354 .constdata c_p.l(bigflt0.o) - 0x110184fc 0x110184fc 0x000000cf Data RO 550 .conststring app_task.o - 0x110185cb 0x110185cb 0x00000001 PAD - 0x110185cc 0x110185cc 0x0000004a Data RO 1235 .conststring usr_server.o - 0x11018616 0x11018616 0x00000002 PAD - 0x11018618 0x11018618 0x00000040 Data RO 6459 Region$$Table anon$$obj.o - 0x11018658 0x11018658 0x0000001c Data RO 6360 locale$$data c_p.l(lc_numeric_c.o) - 0x11018674 0x11018674 0x00000110 Data RO 6395 locale$$data c_p.l(lc_ctype_c.o) + 0x11014cc0 0x11014cc0 0x0000000e Code RO 3733 i.extract32_16 xc_drv_fmc_spi.o + 0x11014cce 0x11014cce 0x00000006 Code RO 15 i.ferror system_xinc.o + 0x11014cd4 0x11014cd4 0x00000054 Code RO 700 i.flash_init arch_main.o + 0x11014d28 0x11014d28 0x00000056 Code RO 3734 i.flash_size_and_type_get xc_drv_fmc_spi.o + 0x11014d7e 0x11014d7e 0x00000002 PAD + 0x11014d80 0x11014d80 0x0000002c Code RO 6041 i.fmc_spi_read fmc_spi.o + 0x11014dac 0x11014dac 0x00000394 Code RO 543 i.gapc_callback app_task.o + 0x11015140 0x11015140 0x00000068 Code RO 544 i.gapc_get_device_info_req_ind app_task.o + 0x110151a8 0x110151a8 0x00000158 Code RO 545 i.gapm_callback app_task.o + 0x11015300 0x11015300 0x000000e4 Code RO 546 i.gapm_cmp_evt app_task.o + 0x110153e4 0x110153e4 0x00000008 Code RO 547 i.get_app_env app_task.o + 0x110153ec 0x110153ec 0x0000001c Code RO 6042 i.get_checksum fmc_spi.o + 0x11015408 0x11015408 0x00000002 Code RO 2737 i.gpio_intr_callback xc_drv_gpio.o + 0x1101540a 0x1101540a 0x00000002 PAD + 0x1101540c 0x1101540c 0x00000094 Code RO 5928 i.interpolate_mode_output light_transition.o + 0x110154a0 0x110154a0 0x0000003c Code RO 5464 i.jump_fun mode.o + 0x110154dc 0x110154dc 0x00000060 Code RO 701 i.main arch_main.o + 0x1101553c 0x1101553c 0x00000114 Code RO 2230 i.modem_init rf_extrc.o + 0x11015650 0x11015650 0x0000005c Code RO 5465 i.neutral_breathe_fun mode.o + 0x110156ac 0x110156ac 0x0000009c Code RO 963 i.ota_slave_send_data ota_server.o + 0x11015748 0x11015748 0x00000010 Code RO 964 i.ota_srv_get_hdl_from_att_idx ota_server.o + 0x11015758 0x11015758 0x0000003c Code RO 1102 i.ota_write_flash ota_protocol.o + 0x11015794 0x11015794 0x00000058 Code RO 5929 i.output_brightness_scale_for_level light_transition.o + 0x110157ec 0x110157ec 0x00000080 Code RO 6043 i.power_restore_apply_on_boot fmc_spi.o + 0x1101586c 0x1101586c 0x00000028 Code RO 6044 i.power_restore_policy_set fmc_spi.o + 0x11015894 0x11015894 0x00000004 Code RO 1784 i.pwm_capture_ch0_callback xc_drv_pwm.o + 0x11015898 0x11015898 0x00000004 Code RO 1785 i.pwm_capture_ch1_callback xc_drv_pwm.o + 0x1101589c 0x1101589c 0x00000004 Code RO 1786 i.pwm_capture_ch2_callback xc_drv_pwm.o + 0x110158a0 0x110158a0 0x0000001e Code RO 1787 i.pwm_freq_to_period xc_drv_pwm.o + 0x110158be 0x110158be 0x0000009e Code RO 1788 i.pwm_pin_set xc_drv_pwm.o + 0x1101595c 0x1101595c 0x00000164 Code RO 6045 i.read_user_data fmc_spi.o + 0x11015ac0 0x11015ac0 0x0000000e Code RO 3735 i.reverse_verif_is_true xc_drv_fmc_spi.o + 0x11015ace 0x11015ace 0x00000002 PAD + 0x11015ad0 0x11015ad0 0x00000034 Code RO 5561 i.rf433_cancel_pairing rf433.o + 0x11015b04 0x11015b04 0x00000058 Code RO 5562 i.rf433_clear_code rf433.o + 0x11015b5c 0x11015b5c 0x00000044 Code RO 5682 i.rf433_decode_bit rf433_decoder.o + 0x11015ba0 0x11015ba0 0x00000028 Code RO 5683 i.rf433_decoder_get_frame rf433_decoder.o + 0x11015bc8 0x11015bc8 0x00000018 Code RO 5685 i.rf433_decoder_init rf433_decoder.o + 0x11015be0 0x11015be0 0x00000002 Code RO 5686 i.rf433_decoder_process rf433_decoder.o + 0x11015be2 0x11015be2 0x00000002 PAD + 0x11015be4 0x11015be4 0x00000098 Code RO 5687 i.rf433_decoder_sample rf433_decoder.o + 0x11015c7c 0x11015c7c 0x00000020 Code RO 5563 i.rf433_gpio_init rf433.o + 0x11015c9c 0x11015c9c 0x00000010 Code RO 5688 i.rf433_in_range rf433_decoder.o + 0x11015cac 0x11015cac 0x00000014 Code RO 5689 i.rf433_increment_saturated rf433_decoder.o + 0x11015cc0 0x11015cc0 0x0000002c Code RO 5564 i.rf433_paired_count rf433.o + 0x11015cec 0x11015cec 0x0000006c Code RO 5565 i.rf433_receive rf433.o + 0x11015d58 0x11015d58 0x00000044 Code RO 5566 i.rf433_start_pairing rf433.o + 0x11015d9c 0x11015d9c 0x00000002 Code RO 2231 i.rf_force_agc_enable rf_extrc.o + 0x11015d9e 0x11015d9e 0x00000002 PAD + 0x11015da0 0x11015da0 0x00000154 Code RO 2232 i.rf_init rf_extrc.o + 0x11015ef4 0x11015ef4 0x00000120 Code RO 2233 i.rf_rccalib rf_extrc.o + 0x11016014 0x11016014 0x00000004 Code RO 2234 i.rf_reg_rd rf_extrc.o + 0x11016018 0x11016018 0x00000002 Code RO 2235 i.rf_reg_wr rf_extrc.o + 0x1101601a 0x1101601a 0x00000002 Code RO 2236 i.rf_reset rf_extrc.o + 0x1101601c 0x1101601c 0x00000012 Code RO 2237 i.rf_sleep rf_extrc.o + 0x1101602e 0x1101602e 0x00000002 PAD + 0x11016030 0x11016030 0x0000004c Code RO 2238 i.rf_txpwr_cs_get rf_extrc.o + 0x1101607c 0x1101607c 0x0000000c Code RO 2239 i.rf_txpwr_dbm_get rf_extrc.o + 0x11016088 0x11016088 0x00000020 Code RO 703 i.rom_env_host_init arch_main.o + 0x110160a8 0x110160a8 0x00000080 Code RO 5567 i.scan_433 rf433.o + 0x11016128 0x11016128 0x0000019c Code RO 5356 i.scan_uart uart_1.o + 0x110162c4 0x110162c4 0x00000010 Code RO 5303 i.set_TaskComps_timer timeslice.o + 0x110162d4 0x110162d4 0x00000148 Code RO 5466 i.set_mode mode.o + 0x1101641c 0x1101641c 0x0000002c Code RO 16 i.set_vector system_xinc.o + 0x11016448 0x11016448 0x000000ac Code RO 1231 i.slave_send_data usr_server.o + 0x110164f4 0x110164f4 0x00000010 Code RO 1232 i.srv_get_hdl_from_att_idx usr_server.o + 0x11016504 0x11016504 0x00000014 Code RO 704 i.stack_tag arch_main.o + 0x11016518 0x11016518 0x00000008 Code RO 5212 i.startTimer timer.o + 0x11016520 0x11016520 0x00000002 Code RO 3698 i.systick_callback xc_drv_systick.o + 0x11016522 0x11016522 0x00000002 PAD + 0x11016524 0x11016524 0x00000034 Code RO 5748 i.temperature pwm.o + 0x11016558 0x11016558 0x00000094 Code RO 5214 i.timer0_2_init timer.o + 0x110165ec 0x110165ec 0x000000a8 Code RO 3439 i.uart_user_handler xc_drv_uart.o + 0x11016694 0x11016694 0x00000016 Code RO 5218 i.updateTimer timer.o + 0x110166aa 0x110166aa 0x00000002 PAD + 0x110166ac 0x110166ac 0x00000078 Code RO 5930 i.update_power_fade light_transition.o + 0x11016724 0x11016724 0x00000058 Code RO 2241 i.wbit rf_extrc.o + 0x1101677c 0x1101677c 0x0000001a Code RO 705 i.wdt_init arch_main.o + 0x11016796 0x11016796 0x00000002 PAD + 0x11016798 0x11016798 0x00000100 Code RO 6046 i.wright_user_data fmc_spi.o + 0x11016898 0x11016898 0x000000a4 Code RO 3736 i.xc_adc_2v4_calibrate_read xc_drv_fmc_spi.o + 0x1101693c 0x1101693c 0x0000007c Code RO 3981 i.xc_adc_data_average xc_drv_adc.o + 0x110169b8 0x110169b8 0x00000018 Code RO 3987 i.xc_adc_fifo_flush xc_drv_adc.o + 0x110169d0 0x110169d0 0x000000dc Code RO 3989 i.xc_adc_init xc_drv_adc.o + 0x11016aac 0x11016aac 0x000000cc Code RO 3994 i.xc_adc_start_get_value xc_drv_adc.o + 0x11016b78 0x11016b78 0x00000028 Code RO 4890 i.xc_ble_activity_delete xc_gap_api.o + 0x11016ba0 0x11016ba0 0x00000028 Code RO 4891 i.xc_ble_activity_stop xc_gap_api.o + 0x11016bc8 0x11016bc8 0x00000028 Code RO 4892 i.xc_ble_advertise_create xc_gap_api.o + 0x11016bf0 0x11016bf0 0x0000002c Code RO 4893 i.xc_ble_advertise_start xc_gap_api.o + 0x11016c1c 0x11016c1c 0x0000002c Code RO 4896 i.xc_ble_conn_cfm xc_gap_api.o + 0x11016c48 0x11016c48 0x0000001c Code RO 4900 i.xc_ble_gapm_reset xc_gap_api.o + 0x11016c64 0x11016c64 0x0000000a Code RO 5119 i.xc_ble_gatt_cli_mtu_exch xc_gatt_client_api.o + 0x11016c6e 0x11016c6e 0x00000016 Code RO 5132 i.xc_ble_gatt_service16_add xc_gatt_server_api.o + 0x11016c84 0x11016c84 0x0000004a Code RO 5135 i.xc_ble_gatt_srv_notify xc_gatt_server_api.o + 0x11016cce 0x11016cce 0x00000052 Code RO 5136 i.xc_ble_gatt_srv_read_cfm xc_gatt_server_api.o + 0x11016d20 0x11016d20 0x00000008 Code RO 5137 i.xc_ble_gatt_srv_write_cfm xc_gatt_server_api.o + 0x11016d28 0x11016d28 0x00000008 Code RO 5138 i.xc_ble_gatt_user_srv_register xc_gatt_server_api.o + 0x11016d30 0x11016d30 0x00000038 Code RO 4904 i.xc_ble_get_dev_info_cfm xc_gap_api.o + 0x11016d68 0x11016d68 0x00000034 Code RO 4910 i.xc_ble_param_update_cfm xc_gap_api.o + 0x11016d9c 0x11016d9c 0x00000024 Code RO 4913 i.xc_ble_scan_create xc_gap_api.o + 0x11016dc0 0x11016dc0 0x0000002c Code RO 4914 i.xc_ble_scan_start xc_gap_api.o + 0x11016dec 0x11016dec 0x00000038 Code RO 4915 i.xc_ble_set_adv_data xc_gap_api.o + 0x11016e24 0x11016e24 0x0000002c Code RO 4917 i.xc_ble_set_dev_config xc_gap_api.o + 0x11016e50 0x11016e50 0x00000028 Code RO 4918 i.xc_ble_set_dev_info_cfm xc_gap_api.o + 0x11016e78 0x11016e78 0x00000040 Code RO 2495 i.xc_clock_bbpll_common_cfg xc_drv_clock.o + 0x11016eb8 0x11016eb8 0x00000080 Code RO 2496 i.xc_clock_bbpll_freq_cfg xc_drv_clock.o + 0x11016f38 0x11016f38 0x0000000c Code RO 2497 i.xc_clock_hfclk_in_get xc_drv_clock.o + 0x11016f44 0x11016f44 0x000000c4 Code RO 2498 i.xc_clock_hfclk_set xc_drv_clock.o + 0x11017008 0x11017008 0x0000001a Code RO 2500 i.xc_clock_init_cfg xc_drv_clock.o + 0x11017022 0x11017022 0x00000002 PAD + 0x11017024 0x11017024 0x0000000c Code RO 2501 i.xc_clock_lfclk_in_get xc_drv_clock.o + 0x11017030 0x11017030 0x0000006c Code RO 2502 i.xc_clock_lfclk_set xc_drv_clock.o + 0x1101709c 0x1101709c 0x00000034 Code RO 2506 i.xc_clock_set_osc32m_bbpll_32m xc_drv_clock.o + 0x110170d0 0x110170d0 0x00000034 Code RO 2507 i.xc_clock_set_osc32m_bbpll_48m xc_drv_clock.o + 0x11017104 0x11017104 0x00000034 Code RO 2508 i.xc_clock_set_osc32m_bbpll_64m xc_drv_clock.o + 0x11017138 0x11017138 0x00000034 Code RO 2509 i.xc_clock_set_osc32m_bbpll_96m xc_drv_clock.o + 0x1101716c 0x1101716c 0x0000005c Code RO 2510 i.xc_clock_set_osc32m_div_16m xc_drv_clock.o + 0x110171c8 0x110171c8 0x00000020 Code RO 2511 i.xc_clock_set_rc16m xc_drv_clock.o + 0x110171e8 0x110171e8 0x00000034 Code RO 2512 i.xc_clock_set_rc16m_bbpll_32m xc_drv_clock.o + 0x1101721c 0x1101721c 0x00000034 Code RO 2513 i.xc_clock_set_rc16m_bbpll_48m xc_drv_clock.o + 0x11017250 0x11017250 0x00000034 Code RO 2514 i.xc_clock_set_rc16m_bbpll_64m xc_drv_clock.o + 0x11017284 0x11017284 0x00000034 Code RO 2515 i.xc_clock_set_rc16m_bbpll_96m xc_drv_clock.o + 0x110172b8 0x110172b8 0x00000028 Code RO 1106 i.xc_fota_dev_ack_cmd ota_protocol.o + 0x110172e0 0x110172e0 0x0000001c Code RO 2738 i.xc_gpio_direction_config xc_drv_gpio.o + 0x110172fc 0x110172fc 0x00000028 Code RO 2739 i.xc_gpio_fun_sel xc_drv_gpio.o + 0x11017324 0x11017324 0x0000002e Code RO 2740 i.xc_gpio_init xc_drv_gpio.o + 0x11017352 0x11017352 0x00000002 PAD + 0x11017354 0x11017354 0x00000034 Code RO 2741 i.xc_gpio_it_config xc_drv_gpio.o + 0x11017388 0x11017388 0x0000004c Code RO 2742 i.xc_gpio_mux_ctl xc_drv_gpio.o + 0x110173d4 0x110173d4 0x000000e8 Code RO 2743 i.xc_gpio_pull_config xc_drv_gpio.o + 0x110174bc 0x110174bc 0x00000024 Code RO 2744 i.xc_gpio_read_pin xc_drv_gpio.o + 0x110174e0 0x110174e0 0x0000001c Code RO 2746 i.xc_gpio_write_pin xc_drv_gpio.o + 0x110174fc 0x110174fc 0x00000040 Code RO 1110 i.xc_ota_schedule ota_protocol.o + 0x1101753c 0x1101753c 0x0000004c Code RO 1811 i.xc_pwm_dutycycle_set xc_drv_pwm.o + 0x11017588 0x11017588 0x000000e0 Code RO 1812 i.xc_pwm_init xc_drv_pwm.o + 0x11017668 0x11017668 0x00000020 Code RO 1816 i.xc_pwm_start xc_drv_pwm.o + 0x11017688 0x11017688 0x0000001c Code RO 1818 i.xc_pwm_stop xc_drv_pwm.o + 0x110176a4 0x110176a4 0x00000054 Code RO 2912 i.xc_pwr_vol_set xc_drv_pwr.o + 0x110176f8 0x110176f8 0x00000120 Code RO 3237 i.xc_timer_init xc_drv_timer.o + 0x11017818 0x11017818 0x00000028 Code RO 3238 i.xc_timer_set_value xc_drv_timer.o + 0x11017840 0x11017840 0x0000003c Code RO 3239 i.xc_timer_start xc_drv_timer.o + 0x1101787c 0x1101787c 0x0000001c Code RO 3241 i.xc_timer_stop xc_drv_timer.o + 0x11017898 0x11017898 0x000000cc Code RO 3242 i.xc_timer_us_to_ticks xc_drv_timer.o + 0x11017964 0x11017964 0x000001cc Code RO 3443 i.xc_uart_init xc_drv_uart.o + 0x11017b30 0x11017b30 0x000000e8 Code RO 3737 i.xc_unique_identification_read xc_drv_fmc_spi.o + 0x11017c18 0x11017c18 0x00000070 Code RO 3631 i.xc_wdt_init xc_drv_wdt.o + 0x11017c88 0x11017c88 0x0000002c Code RO 3632 i.xc_wdt_refresh xc_drv_wdt.o + 0x11017cb4 0x11017cb4 0x00000038 Code RO 3633 i.xc_wdt_reload xc_drv_wdt.o + 0x11017cec 0x11017cec 0x00000034 Code RO 3634 i.xc_wdt_start xc_drv_wdt.o + 0x11017d20 0x11017d20 0x0000002c Code RO 6361 locale$$code c_p.l(lc_numeric_c.o) + 0x11017d4c 0x11017d4c 0x0000002c Code RO 6396 locale$$code c_p.l(lc_ctype_c.o) + 0x11017d78 0x11017d78 0x00000010 Code RO 6296 x$fpl$printf1 fz_ps.l(printf1.o) + 0x11017d88 0x11017d88 0x00000010 Code RO 6298 x$fpl$printf2 fz_ps.l(printf2.o) + 0x11017d98 0x11017d98 0x00000000 Code RO 6304 x$fpl$usenofp fz_ps.l(usenofp.o) + 0x11017d98 0x11017d98 0x00000028 Data RO 548 .constdata app_task.o + 0x11017dc0 0x11017dc0 0x00000058 Data RO 549 .constdata app_task.o + 0x11017e18 0x11017e18 0x0000007c Data RO 1234 .constdata usr_server.o + 0x11017e94 0x11017e94 0x0000000c Data RO 1828 .constdata xc_drv_pwm.o + 0x11017ea0 0x11017ea0 0x00000008 Data RO 2243 .constdata rf_extrc.o + 0x11017ea8 0x11017ea8 0x00000004 Data RO 3244 .constdata xc_drv_timer.o + 0x11017eac 0x11017eac 0x00000006 Data RO 3449 .constdata xc_drv_uart.o + 0x11017eb2 0x11017eb2 0x00000002 Data RO 4342 .constdata xc_drv_aotimer.o + 0x11017eb4 0x11017eb4 0x00000016 Data RO 5467 .constdata mode.o + 0x11017eca 0x11017eca 0x00000004 Data RO 5848 .constdata bridge_pwm.o + 0x11017ece 0x11017ece 0x00000324 Data RO 5931 .constdata light_transition.o + 0x110181f2 0x110181f2 0x00000028 Data RO 6131 .constdata c_p.l(_printf_hex_int_ll_ptr.o) + 0x1101821a 0x1101821a 0x00000011 Data RO 6151 .constdata c_p.l(__printf_flags_ss_wp.o) + 0x1101822b 0x1101822b 0x00000001 PAD + 0x1101822c 0x1101822c 0x00000008 Data RO 6220 .constdata c_p.l(_printf_wctomb.o) + 0x11018234 0x11018234 0x00000026 Data RO 6327 .constdata c_p.l(_printf_fp_hex.o) + 0x1101825a 0x1101825a 0x00000002 PAD + 0x1101825c 0x1101825c 0x00000094 Data RO 6354 .constdata c_p.l(bigflt0.o) + 0x110182f0 0x110182f0 0x000000cf Data RO 550 .conststring app_task.o + 0x110183bf 0x110183bf 0x00000001 PAD + 0x110183c0 0x110183c0 0x0000004a Data RO 1235 .conststring usr_server.o + 0x1101840a 0x1101840a 0x00000002 PAD + 0x1101840c 0x1101840c 0x00000040 Data RO 6459 Region$$Table anon$$obj.o + 0x1101844c 0x1101844c 0x0000001c Data RO 6360 locale$$data c_p.l(lc_numeric_c.o) + 0x11018468 0x11018468 0x00000110 Data RO 6395 locale$$data c_p.l(lc_ctype_c.o) - Execution Region RW2 (Exec base: 0x530077b0, Load base: 0x110198e4, Size: 0x0000082c, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000014]) + Execution Region RW2 (Exec base: 0x530077b0, Load base: 0x110196d0, Size: 0x0000082c, Max: 0xffffffff, ABSOLUTE, COMPRESSED[0x00000014]) Exec Addr Load Addr Size Type Attr Idx E Section Name Object @@ -4352,12 +4332,11 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug Object Name - 0 0 0 0 0 141997 app_batt.o + 0 0 0 0 0 142001 app_batt.o 26 0 0 0 0 72 app_sec.o - 2738 1128 335 59 0 20351 app_task.o - 542 76 0 1 0 17594 arch_main.o + 2738 1132 335 59 0 20359 app_task.o + 538 76 0 1 0 17590 arch_main.o 1538 110 4 56 0 19168 bridge_pwm.o - 518 64 0 10 0 4948 external_key.o 852 170 0 2 256 5477 fmc_spi.o 1478 138 804 28 0 11372 light_transition.o 1794 208 22 68 0 10109 mode.o @@ -4373,7 +4352,7 @@ Image component sizes 76 36 192 0 2304 792 startup_xinc.o 184 36 0 4 0 44143 system_xinc.o 230 14 0 16 0 4557 timer.o - 100 16 0 224 0 3358 timeslice.o + 100 16 0 208 0 3358 timeslice.o 412 64 0 0 0 1954 uart_1.o 1424 468 198 16 0 9461 usr_server.o 732 86 0 2 64 23728 xc_drv_adc.o @@ -4396,9 +4375,9 @@ Image component sizes 194 0 0 0 0 4920 xc_gatt_server_api.o ---------------------------------------------------------------------- - 25342 3972 1654 2828 3528 828557 Object Totals + 24818 3912 1654 2804 3528 823617 Object Totals 468 156 64 0 0 0 (incl. Generated) - 42 0 3 19 3 0 (incl. Padding) + 40 0 3 21 3 0 (incl. Padding) ---------------------------------------------------------------------- @@ -4510,15 +4489,15 @@ Image component sizes Code (inc. data) RO Data RW Data ZI Data Debug - 32588 4202 2208 2828 3856 819765 Grand Totals - 32588 4202 2208 268 3856 819765 ELF Image Totals (compressed) - 32588 4202 2208 268 0 0 ROM Totals + 32064 4142 2208 2804 3856 815045 Grand Totals + 32064 4142 2208 260 3856 815045 ELF Image Totals (compressed) + 32064 4142 2208 260 0 0 ROM Totals ============================================================================== - Total RO Size (Code + RO Data) 34796 ( 33.98kB) - Total RW Size (RW Data + ZI Data) 6684 ( 6.53kB) - Total ROM Size (Code + RO Data + RW Data) 35064 ( 34.24kB) + Total RO Size (Code + RO Data) 34272 ( 33.47kB) + Total RW Size (RW Data + ZI Data) 6660 ( 6.50kB) + Total ROM Size (Code + RO Data + RW Data) 34532 ( 33.72kB) ============================================================================== diff --git a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf index 64b6cf8..d83ef0e 100644 Binary files a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf and b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.axf differ diff --git a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.build_log.htm b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.build_log.htm index 2019162..8161388 100644 --- a/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.build_log.htm +++ b/project/example/ble/ble_peripheral/mdk/Objects/Xinc_ble_sdk.build_log.htm @@ -28,25 +28,7 @@ Project File Date: 07/29/2026 *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'D:\Program Files\Keil_v5\ARM\ARMCC\Bin' Build target 'ble-sdk-xip_scan' Note: source file '..\app\src\uart.c' - object file renamed from '.\Objects\uart.o' to '.\Objects\uart_1.o'. -compiling external_key.c... -..\app\src\Mode.h(43): warning: #1295-D: Deprecated declaration choice_mode - give arg types - void choice_mode(); -..\app\src\Mode.h(44): warning: #1295-D: Deprecated declaration set_mode - give arg types - void set_mode(); -..\app\src\Mode.h(45): warning: #1295-D: Deprecated declaration Start_PWM - give arg types - void Start_PWM(); -..\app\src\Mode.h(46): warning: #1295-D: Deprecated declaration Stop_PWM - give arg types - void Stop_PWM(); -..\app\src\Mode.h(47): warning: #1295-D: Deprecated declaration Set_timing - give arg types - void Set_timing(); -..\app\src\PWM.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types - void _PWM_INIT(); -..\app\src\PWM.h(143): warning: #1295-D: Deprecated declaration adc_Init - give arg types - void adc_Init(); -..\app\src\PWM.h(144): warning: #1295-D: Deprecated declaration My_ADC_Get_Value - give arg types - void My_ADC_Get_Value(); -..\app\src\PWM.h(145): warning: #1295-D: Deprecated declaration gpio_pullup_input_inter_test - give arg types - void gpio_pullup_input_inter_test(); +compiling Rf433.c... ..\app\src\RF433.h(185): warning: #1295-D: Deprecated declaration rf433_receive - give arg types void rf433_receive(); ..\app\src\RF433.h(186): warning: #1295-D: Deprecated declaration rf433_gpio_init - give arg types @@ -59,16 +41,6 @@ compiling external_key.c... void Delay_50us(); ..\app\src\RF433.h(190): warning: #1295-D: Deprecated declaration Encoder_key - give arg types void Encoder_key(); -..\app\src\external_key.c: 15 warnings, 0 errors -compiling timer.c... -..\app\src\PWM.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types - void _PWM_INIT(); -..\app\src\PWM.h(143): warning: #1295-D: Deprecated declaration adc_Init - give arg types - void adc_Init(); -..\app\src\PWM.h(144): warning: #1295-D: Deprecated declaration My_ADC_Get_Value - give arg types - void My_ADC_Get_Value(); -..\app\src\PWM.h(145): warning: #1295-D: Deprecated declaration gpio_pullup_input_inter_test - give arg types - void gpio_pullup_input_inter_test(); ..\app\src\mode.h(43): warning: #1295-D: Deprecated declaration choice_mode - give arg types void choice_mode(); ..\app\src\mode.h(44): warning: #1295-D: Deprecated declaration set_mode - give arg types @@ -79,74 +51,6 @@ compiling timer.c... void Stop_PWM(); ..\app\src\mode.h(47): warning: #1295-D: Deprecated declaration Set_timing - give arg types void Set_timing(); -..\app\src\RF433.h(185): warning: #1295-D: Deprecated declaration rf433_receive - give arg types - void rf433_receive(); -..\app\src\RF433.h(186): warning: #1295-D: Deprecated declaration rf433_gpio_init - give arg types - void rf433_gpio_init(); -..\app\src\RF433.h(187): warning: #1295-D: Deprecated declaration scan_433 - give arg types - void scan_433(); -..\app\src\RF433.h(188): warning: #1295-D: Deprecated declaration Lock_Pwm7xd - give arg types - void Lock_Pwm7xd(); -..\app\src\RF433.h(189): warning: #1295-D: Deprecated declaration Delay_50us - give arg types - void Delay_50us(); -..\app\src\RF433.h(190): warning: #1295-D: Deprecated declaration Encoder_key - give arg types - void Encoder_key(); -..\app\src\timer.c: 15 warnings, 0 errors -compiling fmc_spi.c... -..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_fmc_spi.h(230): warning: #47-D: incompatible redefinition of macro "CUR_PAGE_NUM" (declared at line 115 of "..\..\..\..\..\component\ble\modules\flash\xc6xxx_fmc_spi.h") - #define CUR_PAGE_NUM(addr) (addr / FLASH_PAGE_SIZE) -..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_fmc_spi.h(231): warning: #47-D: incompatible redefinition of macro "CUR_START_PSR" (declared at line 116 of "..\..\..\..\..\component\ble\modules\flash\xc6xxx_fmc_spi.h") - #define CUR_START_PSR(addr) (addr % FLASH_PAGE_SIZE) -..\..\..\..\..\component\xc6xx_drivers\Drivers\xc_driver\xc_drv_fmc_spi.h(237): warning: #47-D: incompatible redefinition of macro "FMC_IDLE_STATUS" (declared at line 78 of "..\..\..\..\..\component\ble\modules\flash\xc6xxx_fmc_spi.h") - #define FMC_IDLE_STATUS ((uint32_t)0x01 << 31) -..\app\src\mode.h(43): warning: #1295-D: Deprecated declaration choice_mode - give arg types - void choice_mode(); -..\app\src\mode.h(44): warning: #1295-D: Deprecated declaration set_mode - give arg types - void set_mode(); -..\app\src\mode.h(45): warning: #1295-D: Deprecated declaration Start_PWM - give arg types - void Start_PWM(); -..\app\src\mode.h(46): warning: #1295-D: Deprecated declaration Stop_PWM - give arg types - void Stop_PWM(); -..\app\src\mode.h(47): warning: #1295-D: Deprecated declaration Set_timing - give arg types - void Set_timing(); -..\app\src\PWM.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types - void _PWM_INIT(); -..\app\src\PWM.h(143): warning: #1295-D: Deprecated declaration adc_Init - give arg types - void adc_Init(); -..\app\src\PWM.h(144): warning: #1295-D: Deprecated declaration My_ADC_Get_Value - give arg types - void My_ADC_Get_Value(); -..\app\src\PWM.h(145): warning: #1295-D: Deprecated declaration gpio_pullup_input_inter_test - give arg types - void gpio_pullup_input_inter_test(); -..\app\src\RF433.h(185): warning: #1295-D: Deprecated declaration rf433_receive - give arg types - void rf433_receive(); -..\app\src\RF433.h(186): warning: #1295-D: Deprecated declaration rf433_gpio_init - give arg types - void rf433_gpio_init(); -..\app\src\RF433.h(187): warning: #1295-D: Deprecated declaration scan_433 - give arg types - void scan_433(); -..\app\src\RF433.h(188): warning: #1295-D: Deprecated declaration Lock_Pwm7xd - give arg types - void Lock_Pwm7xd(); -..\app\src\RF433.h(189): warning: #1295-D: Deprecated declaration Delay_50us - give arg types - void Delay_50us(); -..\app\src\RF433.h(190): warning: #1295-D: Deprecated declaration Encoder_key - give arg types - void Encoder_key(); -..\app\src\fmc_spi.c(179): warning: #177-D: variable "i" was declared but never referenced - uint8_t i = 0; -..\app\src\fmc_spi.c(234): warning: #167-D: argument of type "uint8_t (*)[256]" is incompatible with parameter of type "uint8_t *" - xc_fmc_spi_flash_read_page(0x1E000,&r_data, FLASH_PAGE_SIZE); -..\app\src\fmc_spi.c: 20 warnings, 0 errors -compiling uart.c... -..\app\src\RF433.h(185): warning: #1295-D: Deprecated declaration rf433_receive - give arg types - void rf433_receive(); -..\app\src\RF433.h(186): warning: #1295-D: Deprecated declaration rf433_gpio_init - give arg types - void rf433_gpio_init(); -..\app\src\RF433.h(187): warning: #1295-D: Deprecated declaration scan_433 - give arg types - void scan_433(); -..\app\src\RF433.h(188): warning: #1295-D: Deprecated declaration Lock_Pwm7xd - give arg types - void Lock_Pwm7xd(); -..\app\src\RF433.h(189): warning: #1295-D: Deprecated declaration Delay_50us - give arg types - void Delay_50us(); -..\app\src\RF433.h(190): warning: #1295-D: Deprecated declaration Encoder_key - give arg types - void Encoder_key(); ..\app\src\pwm.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types void _PWM_INIT(); ..\app\src\pwm.h(143): warning: #1295-D: Deprecated declaration adc_Init - give arg types @@ -155,23 +59,58 @@ compiling uart.c... void My_ADC_Get_Value(); ..\app\src\pwm.h(145): warning: #1295-D: Deprecated declaration gpio_pullup_input_inter_test - give arg types void gpio_pullup_input_inter_test(); -..\app\src\mode.h(43): warning: #1295-D: Deprecated declaration choice_mode - give arg types - void choice_mode(); -..\app\src\mode.h(44): warning: #1295-D: Deprecated declaration set_mode - give arg types - void set_mode(); -..\app\src\mode.h(45): warning: #1295-D: Deprecated declaration Start_PWM - give arg types - void Start_PWM(); -..\app\src\mode.h(46): warning: #1295-D: Deprecated declaration Stop_PWM - give arg types - void Stop_PWM(); -..\app\src\mode.h(47): warning: #1295-D: Deprecated declaration Set_timing - give arg types - void Set_timing(); -..\app\src\uart.c(153): warning: #223-D: function "temperature" declared implicitly - temperature(user_rx_buf[1]); -..\app\src\uart.c(90): warning: #177-D: variable "uart_handle" was declared but never referenced - uint8_t uart_handle = UART0_IDX; -..\app\src\uart.c(211): warning: #1-D: last line of file ends without a newline - -..\app\src\uart.c: 18 warnings, 0 errors +..\app\src\Rf433.c(659): warning: #223-D: function "temperature" declared implicitly + temperature((uint8_t)(((uint16_t)(255U - res_data) * 255U + 119U) / 239U)); +..\app\src\Rf433.c(24): warning: #177-D: variable "POWER_flag" was declared but never referenced + static uint8_t POWER_flag; +..\app\src\Rf433.c: 17 warnings, 0 errors +compiling app_sec.c... +..\app\src\app_sec.c(414): warning: #177-D: variable "param" was declared but never referenced + struct gapc_encrypt_req_ind const *param = (struct gapc_encrypt_req_ind const *)p_param; +..\app\src\app_sec.c: 1 warning, 0 errors +compiling app_task.c... +..\app\src\app_task.c(450): warning: #223-D: function "ke_timer_set" declared implicitly + ke_timer_set(APP_SECOND_ADV_START, TASK_APP, 400); // start open noconnect adv +..\app\src\app_task.c(463): warning: #61-D: integer operation result is out of range + value &= ~(0xff << 24); +..\app\src\app_task.c(473): warning: #223-D: function "custom_svc_add" declared implicitly + if (!custom_svc_add()) { +..\app\src\app_task.c(496): warning: #223-D: function "ke_timer_set" declared implicitly + ke_timer_set(APP_SCAN_START, TASK_APP, 10); +..\app\src\app_task.c(640): warning: #177-D: variable "p_param" was declared but never referenced + struct gapm_ext_adv_report_ind *p_param = (struct gapm_ext_adv_report_ind *)param; +..\app\src\app_task.c(688): warning: #223-D: function "xc_ble_gatt_cli_mtu_exch" declared implicitly + xc_ble_gatt_cli_mtu_exch(conidx, app_env.user_lid); +..\app\src\app_task.c(804): warning: #223-D: function "ke_timer_set" declared implicitly + ke_timer_set(APP_SCAN_STOP, TASK_APP, 200); // start open noconnect adv +..\app\src\app_task.c(818): warning: #223-D: function "ke_timer_set" declared implicitly + ke_timer_set(APP_SCAN_START, TASK_APP, 900); // start open noconnect adv +..\app\src\app_task.c(835): warning: #223-D: function "app_switch_mode" declared implicitly + app_switch_mode(app_mode); +..\app\src\app_task.c(836): warning: #940-D: missing return statement at end of non-void function "app_mode_switch_handler" + } +..\app\src\app_task.c(837): warning: #159-D: declaration is incompatible with previous "app_switch_mode" (declared at line 835) + void app_switch_mode(uint8_t mode) +..\app\src\app_task.c(845): warning: #223-D: function "ke_timer_set" declared implicitly + ke_timer_set(APP_SECOND_ADV_START, TASK_APP, 400); // start open noconnect adv +..\app\src\app_task.c(306): warning: #177-D: function "app_get_handler" was declared but never referenced + static uint8_t app_get_handler(const struct app_subtask_handlers *handler_list_desc, ke_msg_id_t msgid, void *p_param, +..\app\src\app_task.c: 13 warnings, 0 errors +compiling ota_protocol.c... +..\app\src\ota_protocol.c(35): warning: #120-D: return value type does not match the function type + return &fota_env; +..\app\src\ota_protocol.c(149): warning: #550-D: variable "sw_ver" was set but never used + uint16_t sw_ver; +..\app\src\ota_protocol.c(150): warning: #550-D: variable "rom_ver" was set but never used + uint16_t rom_ver; +..\app\src\ota_protocol.c(292): warning: #177-D: label "defult" was declared but never referenced + defult: +..\app\src\ota_protocol.c(320): warning: #223-D: function "ble_flash_later_page_erase" declared implicitly + ble_flash_later_page_erase(OTA_PARAM_ADDR); +..\app\src\ota_protocol.c: 5 warnings, 0 errors +compiling rgblight.c... +compiling ota_server.c... +compiling app_batt.c... compiling arch_main.c... ..\app\src\pwm.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types void _PWM_INIT(); @@ -225,77 +164,9 @@ compiling arch_main.c... xc_fmc_spi_init_oprt( ); ..\app\src\arch_main.c(396): warning: #223-D: function "xc_fmc_spi_flash_wake_up" declared implicitly xc_fmc_spi_flash_wake_up(); -..\app\src\arch_main.c(463): warning: #223-D: function "TaskProcess" declared implicitly +..\app\src\arch_main.c(462): warning: #223-D: function "TaskProcess" declared implicitly TaskProcess(); ..\app\src\arch_main.c: 27 warnings, 0 errors -compiling timeslice.c... -..\app\src\mode.h(43): warning: #1295-D: Deprecated declaration choice_mode - give arg types - void choice_mode(); -..\app\src\mode.h(44): warning: #1295-D: Deprecated declaration set_mode - give arg types - void set_mode(); -..\app\src\mode.h(45): warning: #1295-D: Deprecated declaration Start_PWM - give arg types - void Start_PWM(); -..\app\src\mode.h(46): warning: #1295-D: Deprecated declaration Stop_PWM - give arg types - void Stop_PWM(); -..\app\src\mode.h(47): warning: #1295-D: Deprecated declaration Set_timing - give arg types - void Set_timing(); -..\app\src\RF433.h(185): warning: #1295-D: Deprecated declaration rf433_receive - give arg types - void rf433_receive(); -..\app\src\RF433.h(186): warning: #1295-D: Deprecated declaration rf433_gpio_init - give arg types - void rf433_gpio_init(); -..\app\src\RF433.h(187): warning: #1295-D: Deprecated declaration scan_433 - give arg types - void scan_433(); -..\app\src\RF433.h(188): warning: #1295-D: Deprecated declaration Lock_Pwm7xd - give arg types - void Lock_Pwm7xd(); -..\app\src\RF433.h(189): warning: #1295-D: Deprecated declaration Delay_50us - give arg types - void Delay_50us(); -..\app\src\RF433.h(190): warning: #1295-D: Deprecated declaration Encoder_key - give arg types - void Encoder_key(); -..\app\src\pwm.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types - void _PWM_INIT(); -..\app\src\pwm.h(143): warning: #1295-D: Deprecated declaration adc_Init - give arg types - void adc_Init(); -..\app\src\pwm.h(144): warning: #1295-D: Deprecated declaration My_ADC_Get_Value - give arg types - void My_ADC_Get_Value(); -..\app\src\pwm.h(145): warning: #1295-D: Deprecated declaration gpio_pullup_input_inter_test - give arg types - void gpio_pullup_input_inter_test(); -..\app\src\timeslice.c: 15 warnings, 0 errors -compiling Rf433.c... -..\app\src\RF433.h(185): warning: #1295-D: Deprecated declaration rf433_receive - give arg types - void rf433_receive(); -..\app\src\RF433.h(186): warning: #1295-D: Deprecated declaration rf433_gpio_init - give arg types - void rf433_gpio_init(); -..\app\src\RF433.h(187): warning: #1295-D: Deprecated declaration scan_433 - give arg types - void scan_433(); -..\app\src\RF433.h(188): warning: #1295-D: Deprecated declaration Lock_Pwm7xd - give arg types - void Lock_Pwm7xd(); -..\app\src\RF433.h(189): warning: #1295-D: Deprecated declaration Delay_50us - give arg types - void Delay_50us(); -..\app\src\RF433.h(190): warning: #1295-D: Deprecated declaration Encoder_key - give arg types - void Encoder_key(); -..\app\src\mode.h(43): warning: #1295-D: Deprecated declaration choice_mode - give arg types - void choice_mode(); -..\app\src\mode.h(44): warning: #1295-D: Deprecated declaration set_mode - give arg types - void set_mode(); -..\app\src\mode.h(45): warning: #1295-D: Deprecated declaration Start_PWM - give arg types - void Start_PWM(); -..\app\src\mode.h(46): warning: #1295-D: Deprecated declaration Stop_PWM - give arg types - void Stop_PWM(); -..\app\src\mode.h(47): warning: #1295-D: Deprecated declaration Set_timing - give arg types - void Set_timing(); -..\app\src\pwm.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types - void _PWM_INIT(); -..\app\src\pwm.h(143): warning: #1295-D: Deprecated declaration adc_Init - give arg types - void adc_Init(); -..\app\src\pwm.h(144): warning: #1295-D: Deprecated declaration My_ADC_Get_Value - give arg types - void My_ADC_Get_Value(); -..\app\src\pwm.h(145): warning: #1295-D: Deprecated declaration gpio_pullup_input_inter_test - give arg types - void gpio_pullup_input_inter_test(); -..\app\src\Rf433.c(659): warning: #223-D: function "temperature" declared implicitly - temperature((uint8_t)(((uint16_t)(255U - res_data) * 255U + 119U) / 239U)); -..\app\src\Rf433.c(24): warning: #177-D: variable "POWER_flag" was declared but never referenced - static uint8_t POWER_flag; -..\app\src\Rf433.c: 17 warnings, 0 errors compiling Mode.c... ..\app\src\pwm.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types void _PWM_INIT(); @@ -328,18 +199,72 @@ compiling Mode.c... ..\app\src\RF433.h(190): warning: #1295-D: Deprecated declaration Encoder_key - give arg types void Encoder_key(); ..\app\src\Mode.c: 15 warnings, 0 errors +compiling timeslice.c... +..\app\src\mode.h(43): warning: #1295-D: Deprecated declaration choice_mode - give arg types + void choice_mode(); +..\app\src\mode.h(44): warning: #1295-D: Deprecated declaration set_mode - give arg types + void set_mode(); +..\app\src\mode.h(45): warning: #1295-D: Deprecated declaration Start_PWM - give arg types + void Start_PWM(); +..\app\src\mode.h(46): warning: #1295-D: Deprecated declaration Stop_PWM - give arg types + void Stop_PWM(); +..\app\src\mode.h(47): warning: #1295-D: Deprecated declaration Set_timing - give arg types + void Set_timing(); +..\app\src\RF433.h(185): warning: #1295-D: Deprecated declaration rf433_receive - give arg types + void rf433_receive(); +..\app\src\RF433.h(186): warning: #1295-D: Deprecated declaration rf433_gpio_init - give arg types + void rf433_gpio_init(); +..\app\src\RF433.h(187): warning: #1295-D: Deprecated declaration scan_433 - give arg types + void scan_433(); +..\app\src\RF433.h(188): warning: #1295-D: Deprecated declaration Lock_Pwm7xd - give arg types + void Lock_Pwm7xd(); +..\app\src\RF433.h(189): warning: #1295-D: Deprecated declaration Delay_50us - give arg types + void Delay_50us(); +..\app\src\RF433.h(190): warning: #1295-D: Deprecated declaration Encoder_key - give arg types + void Encoder_key(); +..\app\src\pwm.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types + void _PWM_INIT(); +..\app\src\pwm.h(143): warning: #1295-D: Deprecated declaration adc_Init - give arg types + void adc_Init(); +..\app\src\pwm.h(144): warning: #1295-D: Deprecated declaration My_ADC_Get_Value - give arg types + void My_ADC_Get_Value(); +..\app\src\pwm.h(145): warning: #1295-D: Deprecated declaration gpio_pullup_input_inter_test - give arg types + void gpio_pullup_input_inter_test(); +..\app\src\timeslice.c: 15 warnings, 0 errors +compiling usr_server.c... +..\app\src\Mode.h(43): warning: #1295-D: Deprecated declaration choice_mode - give arg types + void choice_mode(); +..\app\src\Mode.h(44): warning: #1295-D: Deprecated declaration set_mode - give arg types + void set_mode(); +..\app\src\Mode.h(45): warning: #1295-D: Deprecated declaration Start_PWM - give arg types + void Start_PWM(); +..\app\src\Mode.h(46): warning: #1295-D: Deprecated declaration Stop_PWM - give arg types + void Stop_PWM(); +..\app\src\Mode.h(47): warning: #1295-D: Deprecated declaration Set_timing - give arg types + void Set_timing(); +..\app\src\PWM.h(137): warning: #1295-D: Deprecated declaration _PWM_INIT - give arg types + void _PWM_INIT(); +..\app\src\PWM.h(143): warning: #1295-D: Deprecated declaration adc_Init - give arg types + void adc_Init(); +..\app\src\PWM.h(144): warning: #1295-D: Deprecated declaration My_ADC_Get_Value - give arg types + void My_ADC_Get_Value(); +..\app\src\PWM.h(145): warning: #1295-D: Deprecated declaration gpio_pullup_input_inter_test - give arg types + void gpio_pullup_input_inter_test(); +..\app\src\usr_server.c(275): warning: #223-D: function "ble_callback" declared implicitly + ble_callback(co_buf_data(p_data)[0],co_buf_data(p_data)[1],co_buf_data(p_data)[2],co_buf_data(p_data)[3]); +..\app\src\usr_server.c: 10 warnings, 0 errors linking... -Program Size: Code=32588 RO-data=2208 RW-data=2828 ZI-data=3856 +Program Size: Code=32064 RO-data=2208 RW-data=2804 ZI-data=3856 FromELF: creating hex file... After Build - User command #1: fromelf --bin --output=app.bin .\Objects\Xinc_ble_sdk.axf After Build - User command #2: .\output_tool\ge_ota_scan.bat -Size of file: 35064 bytes. -all_size=35064 +Size of file: 34532 bytes. +all_size=34532 dual_xip Addr:13000 - Size:0x88f8 + Size:0x86e4 BAddr:0x40000 - Acheck:0xf227e680 + Acheck:0x36596580 SoftVer:0x10 RomVer:0x20 LoadAddr:0x11013000 @@ -367,7 +292,7 @@ status2=1 updata file success ! ÒѸ´ÖÆ 1 ¸öÎļþ¡£ ÒѸ´ÖÆ 1 ¸öÎļþ¡£ -".\Objects\Xinc_ble_sdk.axf" - 0 Error(s), 142 Warning(s). +".\Objects\Xinc_ble_sdk.axf" - 0 Error(s), 103 Warning(s).