github使用整理——关于上传keil工程一些注意的点(代码片段)

lpfdezh lpfdezh     2022-12-21     633

关键词:

git上传警告warning: LF will be replaced by CRLF

在上传keil工程时,会遇到warning: LF will be replaced by CRLF警告;

warning: LF will be replaced by CRLF in <file-name>.
The file will have its original line endings in your working directory.

同时下面这句话很重要,即“在工作区里,这个文件会保持它原本的换行符。”

 

如何理解LF和CRLF:

1.LF和CRLF都是换行符,在各操作系统下,换行符是不一样的,Linux/UNIX下是LF,而Windows下是CRLF,早期的MAC OS是CR,后来的OS X在更换内核后和UNIX一样也是LF.
这种不统一确实对跨平台的文件交换带来了麻烦。虽然靠谱的文本编辑器和 IDE 都支持这几种换行符,但文件在保存时总要有一个固定的标准啊,比如跨平台协作的项目源码,到底保存为哪种风格的换行符呢?

2.Git 由大名鼎鼎的 Linus 开发,最初只可运行于 *nix 系统,因此推荐只将 UNIX 风格的换行符保存入库。但它也考虑到了跨平台协作的场景,并且提供了一个“换行符自动转换”功能。

    • 安装好 GitHub 的 Windows 客户端之后,这个功能默认处于“自动模式”。
    • 当你在签出文件时,Git 试图将 UNIX 换行符(LF)替换为 Windows 的换行符(CRLF);当你在提交文件时,它又试图将 CRLF 替换为 LF。
      所以Git在拉取代码的时候,git会自动将代码之中与你当前系统不同的换行方式自动转换成当前系统的换行方式。
      这样一来在提交代码的时候,git会认为你未修改内容的文件也认为是修改过的,然后提示你warning: LF will be replaced by CRLF这样的信息。

有效的解决方法

如果设置core.autocrlf = false,那么很可能会出现CRLF和LF混合的情况,这样会导致一些问题,例如git diff 失去功能,会发现很多行代码并没有修改,然而被认为是修改过了。
首先core.autocrlf = true在windows上才是正确的选择,那么如何避免warning呢?还要有以下几个步骤:

    • 添加.gitattributes
    • 设置core.safecrlf = true
    • 使用dos2unix、notepad++等工具来将LF转换成CRLF

 

以上资料转载自:

https://www.cnblogs.com/sminocence/p/9357209.html

 

关于git存储空间的注意:

Git本身没有设置用户的磁盘额度,但是建议每个项目的大小保持在1G左右,当你超过75G时会产生警告,且存储库的硬限制为100GB,另外,git严格限制超过100 MB的文件;

Git没有充分设计用作备份工具。但是,有许多专门用于执行值得检查的备份的解决方案,包括ArqCarboniteMozyCrashPlan

导致Git存储库变得庞大和膨胀的另一件事是外部依赖,最好将这些文件保留在存储库之外,而是使用包管理器,大多数流行语言都附带包管理器,可以为您执行此操作。BundlerNode的软件包管理器Maven它们每个都支持直接使用Git存储库,因此您不需要预先打包的源;

Git不建议在您的存储库中分发已编译的代码和预打包的版本;

 

以上资料来自:

https://help.github.com/en/articles/what-is-my-disk-quota

 

关于Keil工程的精简:

首先清除掉keil工程的编译文件,可以通过以下的批处理实现:

::删除Keil编译产生的一些垃圾文件
::删除Code Warrior编译产生的一些垃圾文件
del *.bak /s
del *.ddk /s
del *.edk /s
del *.lst /s
del *.lnp /s
del *.mpf /s
del *.mpj /s
del *.obj /s
del *.omf /s
::del *.opt /s  ::不允许删除JTAG的设置
del *.plg /s
del *.rpt /s
del *.tmp /s
del *.__i /s
del *.crf /s
del *.o /s
del *.d /s
del *.axf /s
del *.tra /s
del *.dep /s           
del JLinkLog.txt /s
del *.iex /s
del *.htm /s
del *.sct /s
del *.map /s
del *._2i /s
del *.L2P /s
del *.FED /s

del *.elf /s
del *.args /s
del *.mk /s
del *.local /s

exit

将以上的代码新建txt文件,拷贝进去后将文件名改为name.bat放入到keil工程中;

 

关于STM32-F4外设库的精简:

基于原子哥的工程模板,对采用外设库的F4工程进行精简;

删除外设库文件,保留下基本的外设库文件只有以下几个:

misc.c
misc.h    //NVIC配置

stm32f4xx_rcc.c
stm32f4xx_rcc.h    //时钟配置

stm32f4xx_gpio.c
stm32f4xx_gpio.h    
stm32f4xx_usart.c
stm32f4xx_usart.h    //串口配置要用

同时修改stm32f4xx_conf.h文件中的外设包含关系:

/* Includes ------------------------------------------------------------------*/
/* Uncomment the line below to enable peripheral header file inclusion */
//#include "stm32f4xx_adc.h"
//#include "stm32f4xx_crc.h"
//#include "stm32f4xx_dbgmcu.h"
//#include "stm32f4xx_dma.h"
//#include "stm32f4xx_exti.h"
//#include "stm32f4xx_flash.h"
#include "stm32f4xx_gpio.h"
//#include "stm32f4xx_i2c.h"
//#include "stm32f4xx_iwdg.h"
//#include "stm32f4xx_pwr.h"
#include "stm32f4xx_rcc.h"
//#include "stm32f4xx_rtc.h"
//#include "stm32f4xx_sdio.h"
//#include "stm32f4xx_spi.h"
//#include "stm32f4xx_syscfg.h"
//#include "stm32f4xx_tim.h"
#include "stm32f4xx_usart.h"
//#include "stm32f4xx_wwdg.h"
#include "misc.h" /* High level functions for NVIC and SysTick (add-on to CMSIS functions) */

 

#if defined(STM32F40_41xxx)
//#include "stm32f4xx_cryp.h"
//#include "stm32f4xx_hash.h"
//#include "stm32f4xx_rng.h"
//#include "stm32f4xx_can.h"
//#include "stm32f4xx_dac.h"
//#include "stm32f4xx_dcmi.h"
//#include "stm32f4xx_fsmc.h"
#endif /* STM32F40_41xxx */

 

keil5配置gcc编译器编译stm32工程

Keil一般使用ARMCC编译MCU工程代码。偶然听说Keil也是支持内嵌GCC编译器的。于是尝试了网上博客所述的一些方法,最终找到了一篇博客http://blog.csdn.net/lan120576664/article/details/46806991按照文中所述,发现仍存在一些其他错误,后来又... 查看详情

使用eclipse上传java工程到github

使用Eclipse上传Java工程到github1.登录github账户,Createanewrepository(创建一个知识库)名称为:eclipse_upload创建完成之后,跳转到以下界面。注意:https://github.com/heyangyi/eclipse_upload.Git地址是待会使用eclipse上传代码到知识库的地址。2.... 查看详情

github安全整理(转载)

刚好这两天对之前github上关注的一些比较有意思的项目进行了一下分类整理,在这里列出来分享给大家,希望能对大家寻找工具或者资源有所帮助。大部分Repo是关于安全以及Python的,也有一些其他主题的项目,有很多我都没有... 查看详情

关于keil5使用注意事项(预定义路径包含)

2017.12.17 下午终于在不用keil5自带添加库的基础上0error的新建了一个工程。磕磕绊绊搞了快一个下午,各种小问题搞到崩溃。首先是库文件添加路径的问题,只要是你工程中用到的头文件,都需要在工程选项配置中添加相应的... 查看详情

github安全类repo收集整理

...者获得授权,非商业转载请注明出处。刚好这两天对之前github上关注的一些比较有意思的项目进行了一下分类整理,在这里列出来分享给大家,希望能对大家寻找工具或者资源有所帮助。大部分Repo是关于安全以及Python的,也有... 查看详情

如何将一些简单的代码文件上传到 GitHub 存储库?

】如何将一些简单的代码文件上传到GitHub存储库?【英文标题】:HowdoIuploadafewsimplecodefilestoaGitHubrepository?【发布时间】:2017-12-3021:18:19【问题描述】:我申请的公司要求我通过GitHub发送样本,我从未使用过。文档似乎有很多东西... 查看详情

github忽略keil工程生成的链接编译等文件

*.bak*.ddk*.edk*.lst*.lnp*.mpf*.mpj*.obj*.omf*.plg*.rpt*.tmp*.__i*.crf*.o*.d*.axf*.tra*.depJLinkLog.txt*.iex*.htm*.sct*.map*.Administrator*.uvopt   查看详情

上传工程到github

这里主要讲讲如何在mac底下使用github,我刚开始使用时,还是费了一点功夫的,因为网上的资料比较杂,有些不是太准确。故将自己的安装过程比较详细的分享下,方便有需要的人,攒点人品。首先你得完成如下两个工作:下载... 查看详情

svn工程转git工程&github托管(代码片段)

SVN工程转Git工程&Github托管1.介绍2.autoAudioTest之SVN转Github步骤Step1工作环境(ubuntu)Step2安装升级必要软件Step3转换脚本Step4检查软件运行环境Step5生成authors.txtStep6SVN转换Git格式Step7Github新建空工程Step8Git提交已有工程Step9Git提交经转... 查看详情

怎样发布一个工程到自己的github

...枚:第一次通过命令行的形式将自己的工程发布到自己的GitHub上去,还是请教了大神之后才完成的。通过总结经验,小白也掌握了一些关于往代码托管平台上发布工程的方式,其实只要用心学,里面的东西是很简单的。行了,废... 查看详情

cocoapods搭建私有库

...库和一个存放pod所需的项目工程文件的远程仓库;(注:github创建私有项目是收费的,所以这里选择免费的“码云”)创建XWSpec远程仓库,用来存放本地spec创建XWPodProject远程仓库,用来存放项目工程文件二、创建specRepo;前往文... 查看详情

html5关于上传api的一些使用(中)

上一次写了关于HTML的上传API,XMLHttpRequest2.0的上传方式,以及HTML5中上传之前本地的预览,包括对于图片以及部分信息的预览。这次我们就讲下HTML5中关于上传的一些各种个性化需求的处理,主要包括实时进度条,上传速度的实... 查看详情

git学习———建立git仓库上传github和从github上下载工程

...不错,非常的详细。也遇到了这样一个问题:上传代码到github时,使用下面命令,gitpush-moriginmaster但是出现如下错误,即使强制上传仍然报错:fa 查看详情

html5关于上传api的一些使用(下)

...才用分片上传能做到一些什么功能关于分片上传为什么要使用分片上传?考虑如下场景,假如用户需要在一个视频分享社区上传一部.avi的视频文件进行分享,大小在2G以上,这个时候用户假如在上传的过程当中,发生了宽带掉线... 查看详情

关于接口测试调试的一些总结整理

...cept,可以设置成:application/json,text/plain,/3.不同的接口可能使用的提交方式不一样,这时候信息头中的Content-Type想要使用不同的值,jmeter可以使用简单控制器进行实现 查看详情

关于github上传没有记录(小绿块不显示的问题)

最近开始使用上github来上传保存自己在学习中所写过的代码,打算将自己每天的成果能有个保存,然后就利用上GitHub这么一个利器。听说GitHub的那个绿块是用来记录每天的上传记录的,结果我将代码上传之后,却发现除了前几次... 查看详情

html5关于上传api的一些使用(上)

...用flash的方案,但是当XMLHttpRequest2.0出来之后,完全可以使用HTML5的上传解决方案,能够非常方便的进行二进制上传进度的显示,上传图片的本地预览,甚至可以做到断点续传,分片上传,多文件上传等各种复杂的底层功能。首先... 查看详情

关于解决keil4和mdk共存后51不能使用gotodefinitionof'xxxxxx'问题

...后,(我是先安装的keil后安装的MDK),在51单片机工程里不能使用gotodefinitionOf‘XXXXXX‘问题,类似的如图  已经困扰了好长时间,不过自己记得当年好像是可以的,,,不过现在找到了解决方法  现在可以试一下了,,,下面这个... 查看详情