tag 标签: lib

相关博文
  • 热度 13
    2016-4-26 15:47
    1841 次阅读|
    0 个评论
        库元件有两种,SCH LIB和PCB LIB。我一直使用自己制作的,软件公司提供的只用过很短时间。       SCH LIB的分类,按元件功能分,但PCB LIB的分类,以形状和尺寸为主。       SCH LIB元件命名,按缩写词+细分缩写词+数字组成。     PCB LIB元件命名,按封装或形状缩写词+脚的数字+长宽组成。       SCH LIB元件绘制时,尽量简单明了。PCB LIB尽量精细详尽。       适合对LIB的分类同样思考过的朋友参考。     2016.04.26 P.D.Z     
  • 热度 15
    2016-4-26 15:26
    1378 次阅读|
    0 个评论
              去年,我的SCHLIB文件损坏了,所以我从SCH里复制元器件,作为新的SCHLIB库元件,这样生成的库元件的字体和SCH里属性一样,有些是修改过的字体。        放置这个库元件时,字体会保持大号。如何修改呢?          在SCHLIB界面,选择Tools——Document Options——Always Show Comment/Designator勾选。然后看到位号和数值,点击修改字体。     适合对库元件字体也有要求的朋友参考。          2016-04-26 P.D.Z     
  • 热度 21
    2015-5-18 20:17
    2159 次阅读|
    0 个评论
    ubuntu又迎来了其新一代的长期支持版本 14.04 LTS,其带来了许多令人期待的新特新,遂决定进行升级。 装好了64位版本及交叉编译工具链后,运行GCC,依然会提示那经典的“没有那个文件或目录”提示。 根据以往的经验,对于64位版本ubuntu我们需要安装“ia32-libs”依赖库。 遂输入: sudo apt-get install ia32-lib 却提示查无此货? 已经被”lib32z1 lib32ncurses5 lib32bz2-1.0“这几个哥们代替了! 按照提示,输入apt-get install 命令将以上的依赖包进行安装 sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 再次运行GCC,报错“libstdc++.so.6: cannot open shared object file: No such file or directory” 还需再次安装“lib32stdc++6”依赖包 sudo apt-get install lib32stdc++6 OK,这回全部搞定! 原创文章,转载请注明:  转载自 吴川斌的博客 http://www.mr-wu.cn/  本文链接地址:  ubuntu 14.04 64位版本 gcc无法运行 安装ia32-libs提示没有可用的软件包 怎么破http://www.mr-wu.cn/how-to-install-ia32-libs-in-ubuntu-14/
  • 热度 21
    2013-7-26 21:23
    1281 次阅读|
    0 个评论
    以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程。这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间。每次建立工程都这么编译,是一个相当浪费时间和 香烟的过程。 于是,我有了将库编译成lib文件的想法。本文就是我将STM32F4的标准库编译成lib文件并在工程中使用的过程。 适用对象: 1. 熟悉库,不想再看库里边代码 2. 有稳定的库,库文件更新不频繁 3. 库文件多,每次编译时间长 下面是我将STM32F4的标准库编译成lib并在工程中使用的过程: 1、建立创建lib的工程 2、将库文件拷贝到工程目录: 将库里边目录\STM32F4xx_StdPeriph_lib v1.0.2\STM32F4xx_StdPeriph_Driver下的inc和src两个文件夹拷贝到预创建工程的目录。我计划在目录E:\学习\ARM\库\stm32f4-2中创建库。于是我将两个文件夹拷贝到了这里。 3、选择芯片:STM32F407VG 4、选择NO。因为这不是可运行的程序,这里不需要加入启动文件。 5、创建完工程后,工程结构如图: 6、MDK中点击工具栏上的 设置工程结构,并将库文件加入工程: 为了通用,我将库中所有的C文件都加入了工程 7、完成后MDK下的目录结构: 8、MDK下设置输出选项: 工程选项中设置输出,选择输出lib到目录E:\学习\ARM\库\stm32f4-2\lib\: 9、设置C语言预编译宏和引用目录: 因为要使用STM32F4标准库,预编译选项设置:USE_STDPERIPH_DRIVER,STM32F4XX 将刚才拷贝的inc和工程根目录文件夹加入引用: 10、设置完成后: 11、将stm32f4xx_conf.h文件拷贝到工程: 这个文件需要在标准库提供的示例工程中找: 我使用的是\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA\stm32f4xx_conf.h 这个文件引用了库文件中所有的头文件。因为不包含在库中,我将这个文件拷贝到E:\学习\ARM\库\stm32f4-2文件夹。 12、到此,工程设置完成。按F7编译,经过一支烟的时间即可生成库的lib。 生成完成后,MDK工程中: 13、工程输出目录: 文件stm32f4lib.lib就是我们生成的lib文件 14、将库文件加入该工程 15、新建工程,我命名成stm32f4use,处理器依旧选择STM32F407VG。 16、这是选择yes,因为这是一个可执行的工程: 17、将标准库示例工程的\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA中的system_stm32f4xx.c拷贝到工程目录(E:\学习\ARM\库\stm32f4-2)中 18、再次点击菜单上的 设置工程目录结构,将刚才生成的lib库加入到工程中: 19、将示例工程\STM32F4-Discovery_FW_V1.1.0\Project\Peripheral_Examples\ADC3_DMA中的system_stm32f4xx.c拷贝到工程目录。 20、将main.c和 system_stm32f4xx.c 加入到工程 21、完成后的目录结构: 22、加入编译选项 与上边生成lib相似,预编译选项设置:USE_STDPERIPH_DRIVER,STM32F4XX 引用目录:.\inc;..\stm32f4-2 (这里的.\inc;..文件夹就是刚才建立库时候的文件夹) 输出可执行文件: 23、添加几行简单的代码 //点亮一个LED #include #include "stm32f4xx_conf.h" #include "stm32f4xx_tim.h" int main() { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOD,ENABLE); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OUT; GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_2MHz; GPIO_Init(GPIOD,GPIO_InitStructure); GPIO_SetBits(GPIOD,GPIO_Pin_12); while(1); } 24、工程设置完成,按F7试试。现在编译速度快起来了,点个烟的时间就编译完了。
  • 热度 27
    2012-11-22 00:48
    3477 次阅读|
    7 个评论
    有时候我们会看到一些半导体厂商提供的代码是 .lib 文件的,只告诉我们一些接口。 .lib 文件对我们来说是内容不可见的,这对保护知识产权等,很有用,那这 .lib 文件是如何生成的呢?现在我们在 Keil 中来试试,以 C51 为例。   硬件平台: 51 开发板( STC12C5A60S2 ) +1602LCD 软件平台: Keil μVison2 , C 语言 目标:在 Keil 中生成关于 1602 液晶的 lib 文件,然后在新的工程中使用 lib 文件。   STEP1 : 先新建一个工程,里面的源文件在附件 1602_creat_lib.zip 中,其中的代码我们不一一详述,关于 1602 液晶的使用,大家可以参考网上其他朋友的文档,我也不详细讲解了。其中的源程序中有以下几个函数: void Delay(unsigned int t);               // 延时函数 void WriteCMD(unsigned char CMD);     // 向 1602LCD 发送指令 void WriteData(unsigned char Data);      // 向 1602LCD 发送数据 void LCDInitial(void);                //1602LCD 初始化 void PutString2LCD(unsigned char addr, unsigned char *p); // 向 LCD 发送要显示的字符串 这几个函数的功能从名字基本就可以知道,而且也加了简单的注释。最后一个解释一下,输入的第一个参数是要在液晶上显示的地址,按说明书,第一行首地址为 0x00 ,第二行首地址为 0x40 ,每行可显示 16 个字符;第二个参数是要显示的字符串的指针。 注意,没有 main() 函数! STEP2 : 选择工程的设置,如下图 在弹出的对话框中,选择图中红圈的部分,生成库。注意蓝圈中的名字,可以改成其他名字,这样生成的 lib 文件名也会改变,我们就用 1602 好了。   STEP3 : Build ,这样就会发现新生成的 lib 文件。   STEP4 : 重新建一个工程,我们使用库里面的两个函数,就是 STEP1 提到的后两个,一个液晶的初始化,一个是向液晶发送字符串。 所以我们在程序的开头加入 extern void LCDInitial(void); extern void PutString2LCD(unsigned char addr, unsigned char *p); 或者如下面视频里面提到的,加一个头文件,在头文件里面声明这些外部函数。   只编写一个主函数 void main(void) {        LCDInitial();        PutString2LCD(0x00,"****Welcome!****");        PutString2LCD(0x40,"www.ednChina.com");        while(1); }   可以看到是向液晶发送两个字符串: "****Welcome!****" 和 www.ednChina.com build 一下,没有任何错误和警告,我们把生成的 hex 文件下载到 STC 单片机中看下效果:   下面我录了一段视频,折腾一晚上,终于弄好了,但是ms挺模糊
相关资源