gnu

How to use the GDB (Gnu Debugger) and OpenOCD for microcontroller debugging - from the terminal?

自古美人都是妖i 提交于 2019-12-29 02:34:07
问题 The standard (low-cost) way to program ARM microcontrollers is using Eclipse with a complex toolchain plugged into it. Eclipse has definitely its merits, but I'd like to feel independent from this IDE. I'd like to discover what happens behind the scenes when I build (compile - link - flash) my software, and when I run a debug session. To get such deeper understanding, it would be wonderful to run the whole procedure from the command line. Note: I'm using 64-bit Windows 10. But most stuff

编译coreutils-8.28

时光怂恿深爱的人放手 提交于 2019-12-28 16:06:02
刚刚看完apue,但是要达到熟练运用书中的API,还是要多读多写代码。之前就比较好奇像linux中的ls、cat等基本命令的实现,在网上查得linux有个coreutils包专门实现这些基本的命令,详见 coreutils介绍 。 比如,对于我的ubuntu: $ which ls /bin/ls $ dpkg -S /bin/ls coreutils: /bin/ls $ ls --version ls (GNU coreutils) 8.28 Copyright (C) 2017 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by Richard M. Stallman and David MacKenzie. 从以上命令可以看出,我的ubuntu上安装的是coreutils-8.28。为了编译能够正常通过而不出现编译环境版本不兼容问题

gnu screen的用法

Deadly 提交于 2019-12-28 00:32:33
在使用ssh或者telnet登录远程主机后执行一些耗时的命令, 如果此时ssh或者telnet中断, 那么远程主机上正在执行的程序或者说命令也会被迫终止. screen能够很好地解决这个问题, screen也叫虚拟终端, 可以在一个物理终端上实现多个虚拟终端的效果. 创建screen会话 # 新建一个screen screen # 新建一个screen并指定名称 screen -S XXX 以上命令, screen将创建一个执行shell的全屏窗口。你可以执行任意shell程序,就像在ssh窗口中那样。在该窗口中键入exit退出该窗口,如果这是该screen会话的唯一窗口,该screen会话退出,否则screen自动切退到前一个窗口。 # screen命令后跟你要执行的程序。 screen vi test.c screen创建一个执行vi test.c的单窗口会话,退出vi将退出该窗口/会话 以上两种方式都创建新的screen会话。 在一个已有screen会话中创建新的窗口。在当前screen窗口中键入Ctrl + A, C,即Ctrl键+a键,之后再按下c键,screen 在该会话内生成一个新的窗口并切换到该窗口 断开(detach)screen会话,并重连(attach)会话 #打开一个screen窗口编辑/tmp/abc文件: screen vi /tmp/abc

Include binary file with GNU ld linker script

狂风中的少年 提交于 2019-12-27 22:13:00
问题 I have a working linker script. I want to add another data section whose contents is pulled directly from a file (ld shouldn't parse it and extract the sections and so on). How can I do that? OUTPUT_FORMAT("elf32-i386") ENTRY(start) SECTIONS { .text 0x100000 : { *(.multiboot) *(.text) *(.code) *(.rodata*) } .data : { *(.data) } .bss : { *(.bss) } kernel_end = .; roottask_start = .; .data : { HERE I WANT TO INCLUDE THE ENTIRE CONTENTS OF ANOTHER (BINARY) FILE } roottask_end = .; } 回答1: You

五种开源协议(GPL,LGPL,BSD,MIT,Apache)

给你一囗甜甜゛ 提交于 2019-12-27 14:48:38
什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。 不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作 者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。 而 开源许可协议 使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你 至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。 GNU GPL GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利: 可自由复制 你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。 可自由分发 在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。 可以用来盈利 你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道,他们可以从别的渠道免费得到这份软件,以及你收费的理由。 可自由修改

五种开源协议(GPL,LGPL,BSD,MIT,Apache)介绍

强颜欢笑 提交于 2019-12-27 11:04:40
商业化的软件应该主要选用MIT或者Apache license的开源系统作为插件。 什么是许可协议? 什么是许可,当你为你的产品签发许可,你是在出让自己的权利,不过,你仍然拥有版权和专利(如果申请了的话),许可的目的是,向使用你产品的人提供 一定的权限。 不管产品是免费向公众分发,还是出售,制定一份许可协议非常有用,否则,对于前者,你相当于放弃了自己所有的权利,任何人都没有义务表明你的原始作 者身份,对于后者,你将不得不花费比开发更多的精力用来逐个处理用户的授权问题。 而 开源许可协议 使这些事情变得简单,开发者很容易向一个项目贡献自己的代码,它还可以保护你原始作者的身份,使你 至少获得认可,开源许可协议还可以阻止其它人将某个产品据为己有。以下是开源界的 5 大许可协议。 GNU GPL GNU General Public Licence (GPL) 有可能是开源界最常用的许可模式。GPL 保证了所有开发者的权利,同时为使用者提供了足够的复制,分发,修改的权利: 可自由复制 你可以将软件复制到你的电脑,你客户的电脑,或者任何地方。复制份数没有任何限制。 可自由分发 在你的网站提供下载,拷贝到U盘送人,或者将源代码打印出来从窗户扔出去(环保起见,请别这样做)。 可以用来盈利 你可以在分发软件的时候收费,但你必须在收费前向你的客户提供该软件的 GNU GPL 许可协议,以便让他们知道

第一节

為{幸葍}努か 提交于 2019-12-27 03:56:23
Linux第一节: 1.GNU:又称革奴计划,是由Richard Stallman在1983年9月27日公开发起的。它的目标是创建一套完全自由的操作系统.为保证GNU软件可以自由地“使用、复制、修改和发布”,所有GNU软件都有一份在禁止其他人添加任何限制的情况下授权所有权利给任何人的协议条款,GNU通用公共许可证(GNU General Public License,GPL)。即“反版权”(或称Copyleft)概念。 1.1GNU是“GNU's Not Unix”的递归缩写 1.2GNU 包含3个协议条款, GPL:GNU通用公共许可证(GNU General Public License) LGPL:GNU较宽松公共许可证 (GNU Lesser General Public License), ) ,旧称 GNU Library General Public License (GNU 库通用公共许可证); GFDL : GNU自由文档许可证(GNU Free Documentation License )的缩写形式。 这里指的自由,并不是价格免费,这和价格无关而是使用软件对所有的用户来说是自由的 二、GPL,是General Public License的缩写,是一份GNU通用公共授权非正式的中文翻译。它并非由自由软件基金会所发表

Linux与Unix到底有什么不同?

大兔子大兔子 提交于 2019-12-25 22:47:21
来自:开源中国 原文:Linux vs. Unix: What's the difference? 链接: https:// opensource.com/article/ 18/5/differences-between-linux-and-unix 译者:Tocy, LinuxTech, 琪花亿草, lnovonl, 雪落无痕xdj, kevinlinkai, 无若 如果你是一名20多岁或30多岁的软件开发人员,那么你已成长在一个由Linux主导的世界中。数十年来,它一直是数据中心的重要参与者,尽管很难找到明确的操作系统市场份额的报告,但Linux在数据中心操作系统上的份额可能高达70%,而Windows变体几乎涵盖了所有剩余的比例。使用任何主流公共云的开发人员可以假定目标系统将运行Linux。近些年来,随着Android和基于Linux的嵌入式系统在智能手机、电视、汽车和其他设备中的应用,Linux随处可见的证据比比皆是。 即便如此,大多数软件开发人员,甚至是那些在这场古老的“Linux革命”中成长的软件开发人员,也至少听说过Unix。这听起来与Linux类似,你可能已经听说过人们可以互换地使用这些术语。或者你也许听说过Linux被称为“类Unix”操作系统。 那么,这个Unix是什么呢? 一些漫画种讲到的是坐在发绿光的屏幕后面的精灵般的“老人”,他编写C代码和shell脚本

How can I put my GTK application in the desktop menus?

孤街醉人 提交于 2019-12-25 09:55:33
问题 I started with programming a little time ago and I created my first running application with GTK 3.0. I did not use Glade, I do not know if worth highlight it. My code is working perfectly, but now I have a doubt, how can I make my own desktop menu application? I mean, I want that my application running up without compile in a terminal with GTK 3.0 compiler, but yes with a double click. I have been seen these examples provided by GNOME Developer Center, but I confess that did not understand

gnu gdb malloc return inaccessible pointer [closed]

拥有回忆 提交于 2019-12-25 00:39:27
问题 This question is unlikely to help any future visitors; it is only relevant to a small geographic area, a specific moment in time, or an extraordinarily narrow situation that is not generally applicable to the worldwide audience of the internet. For help making this question more broadly applicable, visit the help center. Closed 6 years ago . malloc in gdb debug session returns inaccessible address after running some codes. first break at the start of main function. everything is ok.