历史上的今天
返回首页

历史上的今天

今天是:2025年03月25日(星期二)

正在发生

2020年03月25日 | stm32在linux编译,远程调试

2020-03-25 来源:eefocus

背景

本人笔记本太渣,使用keil编译时CPU占用率竟然能到%90,实在忍受不了,就想着将stm32 keil的工程port到linux上用makefile来控制(嗯,服务器配置相当豪华)。使用gdb+jlink server的方式进行调试。惊喜的发现jlink竟然可以直接将程序烧写到stm32的内部flash。


移植

记录几个关键地方:


参考工程: https://github.com/embedded2014/freertos-stm32 ,因为需要用到makefile和lds脚本,自己写起来太费劲,就在github上搜了一下,果然有前辈做好的工程。就借鉴一下Makefile和lds,在该基础上进行修改


将MDK的工程源码直接添加后,发现编译没有通过,百度上发现MDK和GCC用的启动文件start.s不同。参考链接:http://bbs.chinaunix.net/thread-4083983-1-1.html


调试

在windows上打开gdbserver,选择目标处理器后界面如下

在这里插入图片描述

在linux系统上使用对应gdb连接该server

> cat gdb.sh 

#!/bin/bash 

~/workspace/stm32/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gdb -x ./script_gdb/stm32.gdb


> cat ./script_gdb/stm32.gdb

target remote 10.213.37.111:2331

file ./STM32F429.elf

exec-file ./STM32F429.elf


然后手动在gdb中使用load命令即可将程序烧写到stm32的flash中(注意lds是flash版本的而不是sram版本)

关于gdb和Keil的对比

显然keil比较方便,但是gdb可定制性更强,熟悉用起来就比较舒服。

顺便说一下编译器性能,之前测试过coremark大概就是:IAR > MDK > GCC,即同样的程序IAR编译的会比GCC编译的性能好。

推荐阅读

史海拾趣

Advanced_Linear_Devices_Inc.公司的发展小趣事

在集成电路的封装领域,ALD同样展现出了强大的创新能力。公司不仅提供了塑封、PDIP、小型装(SOIC)等常见的封装形式,还开发出了密封陶瓷封装(CDIP)等高性能封装技术。这些封装技术不仅提高了集成电路的可靠性和稳定性,还降低了生产成本,为客户提供了更具竞争力的产品。

安国国际(ALCOR)公司的发展小趣事

近年来,安国国际将发展重心放在U盘控制IC的开发上。随着USB技术的不断升级和SSD市场的蓬勃发展,安国积极抢占USB 3.0、USB 3.1及SSD控制IC的市场先机。公司的U盘控制IC不仅支持新一代3D NAND技术,还具备高性能、低功耗等优点,深受市场欢迎。通过持续的技术创新和市场拓展,安国在U盘控制IC领域取得了显著成绩。

HSMC公司的发展小趣事

HSMC的发展不仅为公司自身带来了显著的经济效益,也为当地社会和经济发展做出了重要贡献。项目全面达产后,预计可实现年产值600亿元,利税60亿元,直接带动就业人口3000人。此外,HSMC还通过技术创新和产业升级,带动了上下游产业链的发展,促进了整个电子行业的繁荣与进步。

以上五个故事共同描绘了HSMC在电子行业中的崛起与发展历程。作为一家充满活力和创新精神的企业,HSMC正以其独特的优势和不懈的努力,向着成为全球领先CIDM晶圆厂的目标不断迈进。

DIPTRONICS MANUFACTURING INC公司的发展小趣事

在稳定国内市场的基础上,圜达实业积极拓展海外市场。凭借优良的品质和快速的交期,公司的产品逐渐打入国际市场,并赢得了众多客户的信赖。如今,圜达实业的产品已营销至全球100余个国家,遍及五大洲。

Dynawave Incorporated公司的发展小趣事

作为一家有社会责任感的企业,Dynawave一直注重环保和可持续发展。他们采用环保材料和生产工艺,减少了对环境的污染。同时,公司还积极参与各种环保活动,宣传环保理念。这些做法不仅提升了公司的品牌形象,也赢得了社会各界的赞誉。

AMI [American Megatrends Inc]公司的发展小趣事

Dynawave Incorporated的创始人李明,是一位在电子行业有着丰富经验的工程师。他深知随着科技的发展,无线通信技术将成为未来发展的重要方向。因此,李明带领一支技术团队,夜以继日地研发新型无线通信技术。经过数月的努力,他们成功开发出了一种具有高效能、低能耗特点的无线传输技术,这一技术为Dynawave在行业中赢得了初步声誉。

问答坊 | AI 解惑

DSP串口使用资料精华

DSP串口使用资料精华…

查看全部问答>

十万火急,有哪个朋友可以把PID程序和现象形象的说明下不??

要直接了当点的程序和现象,,,,太理论化的我看不明白,,,着急…

查看全部问答>

<<和>>

我是刚开始学习单片机的,看了一个例子 有个语句没搞明白,请高手指点 ldi r16,(1…

查看全部问答>

求助!!!急!!!51单片机控制两个舵机程序O(∩_∩)O~

    用C51单片机,分别产生两路可独立调节占空比的PWM信号来控制两个舵机,现在单个舵机已经可以按键控制,我想通过上位机通过串口发指令给单片机,单片机识别指令后分别控制两个舵机,调了几天都没办法,现求助各位高手了,先谢谢了。。 ...…

查看全部问答>

今天第一次用VS2005+WINCE6.0编译BSP包出现错误,受打击了

错误信息: BUILD: [00:0000000545:PROGC ] Other                                  0        &nbs ...…

查看全部问答>

测试工具插件设计,快速开发,界面统一

插件设计:任何人开发的测试工具将无缝连接到平台中,可以即插即用; 快速开发:插件设计采用定制模板的方法可进行快速开发,避免重复性的劳动; 界面统一:开发、测试、生产和维护人员都使用统一用户界面,所有模块的功能操作类似。 了解更多\" ...…

查看全部问答>

LM3S811 DS18B20单点测温

用LM3S811的Timer计时处理的DS18B20时序。工程仅写了DS18B20单点检测温度,暂时没写多点测试读取序列号,选择测温。 函数串口显示值只计算了实数部分,小数部分类似处理~~~ 注意用作时序总线的管脚需要上拉电阻~ 最主要的是要保证DS18B20这个器 ...…

查看全部问答>

单片机主从机通讯问题

最近做一个项目,有两块独立的PCB板,一个为控制板5V供电(是从功能板上12V转换来的),另外一个为功能板12V供电,两板共地,正常工作时,两板相距两米。本来用单片机控制三个NPN型三极管可以控制功能板的正常功能,也就是用5V控制12V电压,总共是5 ...…

查看全部问答>

STM32用定时器输出比较模式来周期定时采集多通道的ADC,并由DMA传输

1、我使用定时器输出比较模式中的timing模式,进行周期定时,并产生中断,但是时间不准确 2、ADC串口输出通道之间发生错位 望高人指点,下面是我的程序 #include \"stm32f10x.h\" #include \"stm32f10x_it.h\" #include \"UART_INTERFACE.h\" ...…

查看全部问答>