自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

去流浪

沉沦在这时空的放逐之地,循环往复,止步不前,我期盼能看到那一丝光明

  • 博客(253)
  • 资源 (5)
  • 收藏
  • 关注

原创 杰发科技AC7840——编译链接过程

嵌入式开发中链接脚本(.ld)与启动文件(.s)的协同工作 在ARM嵌入式项目中,链接脚本(.ld)和启动汇编文件(.s)通过符号引用机制协同工作: 启动文件定义初始化代码并引用链接脚本中的符号(如_sdata、_estack等) 链接脚本实际定义这些符号的物理内存地址 链接阶段由链接器将符号引用解析为具体地址 这种配合机制确保了系统启动时能正确初始化RAM中的.data段、.bss段,并设置好堆栈指针,为C程序的执行做好准备。

2026-03-30 00:38:31 17

原创 RTOS基于7840——任务创建、启动、切换、删除

本文主要分析了RTOS任务创建与调度的相关问题。首先描述了在7840例程中创建两个任务时遇到的调度问题,包括任务优先级设置错误导致任务1无法运行,以及打印语句对任务执行时间的影响。随后探讨了任务切换机制,参考韦东山老师的资料指出任务切换本质是通过触发异常中断来保存现场。文章还分析了vTaskDelay函数和启动任务的反汇编配置,但表示对地址映射部分理解不足。最后提出了关于MSP/PSP堆栈指针和任务切换机制的疑问,为后续深入研究奠定了基础。整个分析过程体现了RTOS任务调度中优先级设置和时间管理的重要性。

2026-03-16 21:29:31 233 1

原创 杰发科技AC7840——AB分区升级备份

摘要:在进行ab分区升级时,发现使用同一工程代码分别作为app1和app2时,boot跳转至app1正常但跳转至app2失败;而复制工程为独立app2后运行正常。分析表明,尽管修改了地址设置并确认编译后代码和map文件已更新(如boot、app5000、app9000测试地址),但同一工程的不同实例可能存在地址配置冲突或编译优化问题,导致app2无法正常启动。需检查链接脚本和启动代码的地址处理逻辑。

2026-03-02 16:33:14 63 1

原创 杰发科技AC7840——打印所有GPIO的PORT配置寄存器

该代码通过循环读取内存地址0x40085200开始的寄存器值,每次读取32个32位寄存器数据。外层循环5次(j=0-4),每次偏移0x100地址,对应端口P0-P4。内层循环读取每个端口的32个寄存器值,每5个寄存器换行显示。最终输出格式为"PxNN:0xvalue",其中x为A-E(对应P0-P4),NN为寄存器编号00-31。代码实现了对连续内存区域寄存器值的格式化读取和显示功能。

2026-02-02 21:07:02 122 1

原创 杰发科技AC7840——PWM触发多路ADC采样

本文探讨了PWM触发ADC采样的实际应用问题。通过测试发现:1) 初始化顺序会影响首次采样点位置,在20kHz PWM下需将CTU模块最后初始化;2) 采用向上计数模式+Init触发方式可使采样点位于PWM周期中间位置;3) 注入组存在中断丢失问题,需直接通过寄存器读取数据。实验数据显示两个ADC中断间隔约600ns,验证了硬件触发的精确性。文中提供了完整的ADC/PWM/CTU配置代码,并指出规则组测试存在异常情况待解决。

2026-01-27 15:45:17 508

原创 杰发科技AC7840——PWM触发ADC采样

本文分析了7840芯片PWM模块的关键特性,重点探讨了PWM波形异常问题及其解决方案。研究发现PWM存在初始电平配置问题,在低电平有效模式下,初始高电平会导致首个周期异常延长672us(超过正常周期666us)。通过将初始电平设为低电平可解决该问题。同时发现PWM在deinit时会产生电平"小尾巴",这是由模块关闭时的强制拉低导致。在ADC采样方面,确定了使用PWM最大值触发和init触发两种方式,其中init触发配合中心对齐模式能实现理想的中间点采样。

2026-01-23 11:29:34 797 1

原创 杰发科技AC7840/AC7843——standby模式保留ram数据

keil的sct中配置如下代码调用在休眠之前定义退出休眠后发现数据保留了。

2026-01-16 10:25:47 352

原创 Gitlab配置——无法添加秘钥,TortoiseGitPlink要求输入密码

查看getlab的help怎么搞都不行请教大佬之后提示git版本过高,于是在csdn下载上找了个2.14.2版本的git就ok了(git官网好像没有放历史版本下载了)想起来好像在win10笔记本上安装小乌龟时候也提示了小乌龟版本过高,不知道和这个有没有关系目前使用的是这两个版本。

2026-01-13 15:31:36 443

原创 杰发科技AC7840——CSE的CMAC校验

CMAC与MAC的主要区别在于CMAC是基于分组密码的认证算法。加密时需确保128bit数据存放在Flash而非RAM,否则会导致hardfault。由于7840芯片的大小端特性,需对原文、密码及结果进行翻转处理。在线CMAC计算工具(lddgo.net)支持带空格的输入,计算结果需与翻转后的数据比对验证。具体翻转操作可参考例程9中的实现方法。注意加密数据长度不足128bit或使用RAM数组都会导致程序异常终止。

2026-01-12 13:52:41 212

原创 杰发科技AC7840——CSE安全启动

本文简要介绍了安全启动的实现流程:1)加载boot_mac_key并设置引导参数,计算boot_mac值;2)通过修改前后的hex文件进行验证测试,结果显示修改后的文件因数据差异导致验证失败,而未修改文件能成功匹配mac值。该流程确保了系统启动的安全性验证机制。

2026-01-12 10:59:00 423

原创 杰发科技AC7840——关闭CSE模块

摘要:当CSE模块存在时无法执行全片擦除或测试后,需先关闭该模块。操作步骤包括:1)验证主密钥正确性;2)处理DBG指令返回409错误(需初始化随机数);3)完成擦除操作。整个过程强调密钥验证和随机数初始化对擦除功能的关键作用。(98字)

2026-01-12 10:04:58 183

原创 杰发科技AC7840——CSE加载秘钥和更新秘钥

问了大佬之后,知道了,blankkey作为更新masterkey的原因,是因为最开始时候所有的key都是空的,也就是ff,blankkey就是全ff,所以可以对所有的key进行更新,因此可以对masterkey进行更新,但是在masterkey更新之后,已经有了数据,就不能再用blankkey对masterkey进行更新,只能用masterkey对他自己更新,因此做了如下测试,都更成功了。复位之后也是无法再次更新,这个更新次数是放在flash里面的,更新次数必须比之前的大才行。修改次数和,秘钥也不成功。

2026-01-09 19:16:16 375

原创 杰发科技AC7840——测量时钟频率

摘要:通过GPIO配置可实现时钟频率输出,但电压随频率升高而降低。代码示例展示了如何设置GPIO为输出模式(PORTD_10),并输出不同频率的时钟信号(20MHz-120MHz)。可选的时钟源包括HSECLK、HSICLK、SPLLCLK等多种类型。实验表明,120MHz不分频时无法输出,而60MHz时电压降至480mV左右。系统时钟120MHz经6分频后可输出20MHz信号。

2026-01-09 11:03:52 308

原创 杰发科技AC7840——真随机数和伪随机数

本文对比了真随机数和伪随机数的生成机制。通过CSE_DRV_InitRNG初始化真随机数生成器,使用CSE_DRV_GenerateRND生成128位随机数。测试表明,在1.3亿次生成中未出现重复值,且1000万次生成耗时约1分钟。而使用CSE_DRV_ExtendSeed的伪随机数生成速度较慢,1000万次耗时约1分40秒。结果表明,硬件真随机数生成器具有高效性和良好的随机性,重复概率极低。

2026-01-09 09:38:19 176

原创 杰发科技AC7840/7843——晶振修改

修改完断电重启后才能生效。

2025-12-22 11:03:49 218

原创 vscode关闭coplit功能

设置->搜索github copilot->点这个禁用功能就没了,不然老是看到他很烦,登录半天又登不上。搜了一圈没找到怎么关掉,百度ai搜出来了。正好公司给了通灵义码还挺好用。

2025-09-18 17:14:35 911

原创 杰发科技AC7840——硬件crc使用

CRC16使用的是CRC-16/XMODEM。

2025-07-21 17:25:32 380

原创 iar cannot open source file “core_cm0plus.h“

把keil文件夹core_cm0plus.h的copy过来之后,发现还缺少其他文件,例如#include "cmsis_version.h"iar缺少core_cm0plus.h。只需要勾选cmsis即可。

2025-07-04 16:18:55 416

原创 杰发科技AC7801——GPIO+定时器最简单例程

【代码】杰发科技AC7801——GPIO+定时器最简单例程。

2025-06-14 15:55:17 240

原创 杰发科技AC7801——使用内部晶振

IC_CLOCK_SRC_HSE改为IC_CLOCK_SRC_HSI即可。修改为内部HSI就是内部8M晶振。

2025-06-04 10:27:40 506

原创 杰发科技AC7840——Timer修改重装载值

需要在运行过程中修改定时器的中断时间。以下两个接口都可以使用。

2025-06-04 10:21:19 414

原创 杰发科技AC7840——CSE硬件加密模块使用(2)

不要随便修改主秘钥,本次跑代码过程中,对主秘钥进行修改,导致无法对cse模块恢复出厂设置。

2025-05-28 16:17:47 751 1

原创 通过Jflash合并Boot和App两个hex为一个hex的办法

1. 打开J-Flash软件,点击file->open data file选项打开bootloader文件boot.hex。3. 此时已经合并文件,再点击file->save data file as…保存合并后的文件即可。2. 再点击file->merge data file选择并打开app程序文件app.hex。jlink烧录调试工具自带了J-Flash工具,使用该软件工具来完成对hex文件的合并。

2025-05-26 21:55:58 821

原创 BeyondCompare设置白色背景

默认英文,找了好久没找到咋设置白色背景。

2025-05-26 02:17:36 292

原创 杰发科技AC7840——CSE硬件加密模块使用(1)

CSE_SECRET_KEY在17个用户KEY中体现。这里的CSE_CMD_RND在FuncID中体现了。最后的读取RNG值,可以看出计算结果在PRAM中。初次使用,添加和加载。

2025-05-22 21:23:44 638

原创 杰发科技AC7801——PWM获取固定脉冲个数

测试结果多了一个小脉冲,如果是边沿有效,可以减一个计数值。在初始化时候打开通道中断。在中断中对通道6开启计数。

2025-05-22 20:43:07 578

原创 杰发科技AC7840——使用内部温度

杰发的芯片都自带内部温度检测,在ADC通道中获取即可。7801自带了温度检测例程,7840不带,因此在这里分享一下相关温度检测代码。根据产线反馈,7840在常温时候25℃比较准,温箱测试,高温和低温下有5℃的误差。

2025-05-22 10:47:58 533

原创 杰发科技AC7840——如何把结构体数据写到Dflash中

测试之后,Dflash存储结构体数据,读写没问题。pflash中还有字符串数据,这个应该还要想办法解掉。8字节编程,因此如果结构体存放在Dfalsh中,进行写操作,需要写8字节的倍数。pack没有加DFlash算法,在keil中看不到数据,直接看hex可以看到。正常情况下,可以看到全局变量的结构体数据被存放在Pflash中。数字部分存在RAM中。

2025-05-20 14:51:19 580

原创 杰发科技AC7801——滴答定时器获取时间戳

杰发科技7801内部有一个滴答定时器,该定时器是M0+核自带的,因此可以直接用该定时器来获取时间戳。

2025-02-28 15:38:26 712

原创 杰发科技——使用ATCLinkTool解除读保护

注意:解除读保护会擦除flash中所有数据。使用atclinktool(在杰发官网下载该软件)读取的数据都是AA,擦除的时候提示读保护开启。

2025-01-03 19:05:23 1061

原创 杰发科技AC7803——不同晶振频率时钟的配置,超频使用

修改为24M晶振,可以参考12M晶振配置。

2024-11-27 22:35:00 751 1

原创 杰发科技AC7840——EEP中RAM的配置

比如需要4096字节的eep空间,可以把RAM的地址改成E000,即E000-EFFF,共4096bytes即可。这个在RAM中使用没有限制,根据这个表格留下足够空间即可。sample和手册中示例代码的sram区地址定义不一样。

2024-11-20 16:02:08 569

原创 杰发科技AC7801——ADC定时器触发的简单使用

在需要多次采样结果的情况下,比如1s需要10w次的采样结果,可以考虑使用定时器触发采样,定时器设置多少的时间就会多久采样转换一次。再加上使用dma,采样的结果直接放在dma的数组里面。实现了自动采样,自动保存,使用非常方便。

2024-11-19 15:43:55 1006

原创 杰发科技AC7840——使用寄存器修改配置

【代码】杰发科技AC7840——使用寄存器修改配置。

2024-10-09 22:35:46 300 2

原创 杰发科技AC7801——使用EEP写版本号和日期

各位看官自己优化即可。

2024-09-29 18:53:50 599

原创 杰发科技——Eclipse环境安装

默认路径:C:\Program Files (x86)\Arm GNU Toolchain arm-none-eabi\13.2 Rel1。默认路径:C:\Program Files (x86)\GnuWin32\bin\。搜索框输入tool打开toolchains。然后在项目中选择编译工具。

2024-09-23 18:08:57 745

原创 杰发科技Bootloader(3)—— 基于7801的APP切到Boot

2. 直接使用跳转指令,参考Boot跳转到App代码,把跳转地址改一下即可,然后在App中调用JumpTOBoot。为了方便在APP中跳转到Boot重新进行升级,有两种办法,7840同样可以使用。1. 调用reset接口进行复位,复位后会先进Boot,再自动跳转到App。

2024-09-09 14:06:20 1075

原创 杰发科技AC7840——EEP的EEP_HAL_OTHER_ERROR错误

在EEP使用手册里面有写答案。

2024-08-30 00:19:50 872

原创 杰发科技AC7801——Flash模拟EEP内存(2)_备份

配置如下计算地址查看地址内容,等到打印完成计算符合,从0-999共计1000。

2024-08-26 22:13:29 1328

原创 杰发科技AC7840——CAN通信简介(8)_通过波特率和时钟计算SEG_1/SEG_2/SJW/PRESC

上述验证全部正确,计算60Mhz 500K 80%配置。因此设置预分频2来计算配置(之前默认0计算结果都错的)上述验证全部正确,计算60Mhz 5M 75%配置。并且普通CAN的分频也是2,用文心一言验证100K配置。用文心一言验证7.5M配置。用文心一言验证50K配置。因为1M的分频在2,

2024-08-21 03:25:15 722

基于proteus多周期cpu代码,包含实验报告、答辩ppt、源代码

该资源包含多周期cpu实现代码、答辩ppt、实验报告。在proteusII 14.0 中成功运行,其他仿真工具应该也可以运行,开发板是DE1-SOC,代码包含CPU各个部件,顶层文件。代码是《计算机原理与设计:Verilog HDL版》书上的,自己加了可以在开发板上用7段数码管显示周期状态的代码。

2019-07-12

网上订餐系统(JavaWeb,jsp,spring等)

在网上搜不到可以正常运行的订餐系统,特上传本人最近作品。使用Myeclipse,mysql,jsp,tomcat7,实测可成功部署运行,压缩包内包含数据库表。如需帮助部署,可留言。本代码借鉴网络资源进行更改,本人实力不足,还不能完整写出网上订餐习系统,请各位见谅。

2018-06-22

Config_AD20_liuendong.DXPPrf

AD20的个人配置,方便开发

2021-08-27

MainSlaveTimer.zip

10000步,800细分,精准定位

2021-05-24

lwjgl-platform-2.9.4-nightly-20150209-natives-windows.jar

lwjgl 2.9.4 MC缺失包

2019-12-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除