erqiic
码龄5年
关注
提问 私信
  • 博客:16,365
    16,365
    总访问量
  • 30
    原创
  • 947,498
    排名
  • 2
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:甘肃省
  • 加入CSDN时间: 2019-12-05
博客简介:

erqiic的博客

查看详细资料
个人成就
  • 获得6次点赞
  • 内容获得6次评论
  • 获得21次收藏
创作历程
  • 9篇
    2021年
  • 20篇
    2020年
  • 1篇
    2019年
成就勋章
TA的专栏
  • c++
    13篇
  • 编译
    2篇
  • AI
    1篇
  • hardware design
    1篇
  • TLM2
    5篇
  • linux
    2篇
  • 嵌入式
    1篇
  • nvdla
    1篇
  • java
    1篇
  • unit ttest
    1篇
  • 软硬件设计
  • docker
    1篇
  • qemu
    1篇
创作活动更多

开源数据库 KWDB 社区征文大赛,赢取千元创作基金!

提交参赛作品,有机会冲刺至高2000元的创作基金,快来参与吧!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

c++ 头文件和库

1 c++ 头文件和库的位置与编译器类型有关。2 两种编译器gcc是一个编译器集合,不是单一编译器。使用autotools,make作为build工具。使用gdb作为debugger。使用ld作为linker。clang/llvm是一个编译器工具链。使用cmake作为build工具。使用lldb作为debugger。使用lld作为linker。编译器分前端和后端。clang是前端,llvm是后端。3 头文件和库文件1)编译器 -I -L指定的路径2)环境变量CPLUS_INCLUDE_PATH
原创
发布博客 2021.07.28 ·
558 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

JIT技术

传统上,让源代码在目标机器上运行有两种方法:静态编译和解释。静态编译是实现把源代码转化成目标机器码。而解释是直接在目标机器上执行源代码,先把源码转成伪码,直接运行伪码。JIT是动态编译,结合了两种方法的优点,实际是解释器的一个feature。在运行时,编译伪码为机器码,加速执行。...
原创
发布博客 2021.07.21 ·
391 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

DDEBUG DNDEBUG

-D is the GCC option to define a macro. NDEBUG is the macro to be defined to turn off asserts as mandated by the C standard.
原创
发布博客 2021.07.15 ·
312 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

业界AI 推理芯片比较

业界AI 推理芯片比较公司创立时间,地点产品架构算力特色瀚博半导体2018年12月@上海SV02DSA200TOPS手机$12导管$1
原创
发布博客 2021.07.07 ·
526 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

c++ 变量与函数的定义与声明

首先看一下编译过程:预编译:完成替换。编译源文件,生成符号表,只要符号被声明就行,不需要存在。如果符号没有声明,就会报编译错误。链接,确认所有符号存在-------》如果符号不存在,也就是没有定义,就会报链接错误。运行比较好的做法:cpp文件放函数的定义,头文件放变量和函数的声明。这样,这个头文件可以被其它使用这个函数的文件include。由于这里是函数声明,所以可以任意多个文件include它。注意,cpp文件和头文件可以分别编译两个目标文件,在链接阶段进行链接。inclu
原创
发布博客 2021.04.01 ·
634 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

c++ learning resource

https://www.geeksforgeeks.org/c-plus-plus/https://www.studytonight.com/cpp/
原创
发布博客 2021.03.17 ·
95 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

systemc learning website

比较好的学习网站http://cfs-vision.com/2017/09/27/learning-systemc-003-time-events-and-processes/https://sclive.wordpress.com/2008/01/10/systemc-tutorial-threads-methods-and-sc_spawn/https://learnsystemc.com/basic/simu_stagehttp://www.asic-world.com/systemc/tut
原创
发布博客 2021.03.03 ·
302 阅读 ·
1 点赞 ·
1 评论 ·
6 收藏

软件库与硬件IP库

无论是软件还是硬件,都需要库的支持。这是因为复杂的设计都是由小的模块组成。但是这些小模块常常由第三方开发,第三方不想提供源代码。因此以库的形式提供模块,甚至库都是加密的。1 软件库软件库分静态链接库和动态链接库。因为库只在链接时需要,根据链接时刻。静态链接是在应用编译阶段,动态链接是在应用运行时刻。这里需要区分库的编译和应用的编译。实际上应用运行时,用户不会感觉命令有区别,都是执行应用的名字。静态库的编译目标文件命令:gcc -c静态库的创建命令:ar -crv动态库的编译目标文件命令:gcc
原创
发布博客 2021.02.23 ·
213 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

函数指针与动态绑定

int foo(int i){ return i + 1;}typedef int (*g)(int); // Declare typedefg func = &foo; // Define function-pointer variable, and initialiseint hvar = func(3); // Call function through pointer
原创
发布博客 2021.02.04 ·
185 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

how to set/use linux core dump

how to set linux core dumphttps://www.cnblogs.com/diegodu/archive/2004/01/13/4757045.html
原创
发布博客 2020.12.10 ·
94 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

STL反向迭代器

问题:有时想用反序去遍历map,但是不能用iter–。解决方法:stl有反向迭代器。注意:map是push并不是按固定的顺序push,而是随机的。这对于用正向,反向迭代器寻找第一个出现的key,有可能不是期望的。...
原创
发布博客 2020.11.16 ·
185 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

systemc TLM FIFO 使用

axi_rd_rsp_fifo_ = new tlm_fifo <tlm_generic_payload*> (16);axi_wr_rsp_fifo_ = new tlm_fifo <tlm_generic_payload*> (16);axi_rd_req_ptr_fifo_ = new tlm_fifo <tlm_generic_payload*> (4096);axi_wr_req_ptr_fifo_ = new tlm_fifo <tlm_gener
原创
发布博客 2020.11.14 ·
814 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

把变量的地址存放到字符串

问题:变量的地址,或者是指针指向的地址不能直接赋值给另一种变量。然而,我们常常需要用这个地址信息作为一些决策,比如总线地址数据的排列。解决方法:把地址作为字符存放在另一个变量中。1 c中可用sprintftlm_generic_payload * gp = new tlm_generic_payload();char tmp1[32];char tmp2[64];sprintf(tmp1, “%p”, tlm_gp);sprintf(tmp2, “%x”, tlm_gp);cout<&
原创
发布博客 2020.11.14 ·
754 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2020-11-09

TLM2 socket连接两种连接方式:csb_master->csb2nvdla.bind(this->csb2nvdla);csb_master->csb2nvdla_wr_hack(csb2nvdla_wr_hack);
原创
发布博客 2020.11.09 ·
79 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2020-10-23

grep和sed配合替换文件中的字串sed -i ‘s/sdp write end_time/sdp write end_time/g’ grep "sdp write end_time" -rl --include="sim_results.log" ./错误:如果 ‘s/sdp write end_time/sdp write end_time/g’ 没有引起来,出下面错误sed: -e expression #1, char 7: unterminated `s’ command 错误作用
原创
发布博客 2020.10.23 ·
70 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2020-09-29

如何开发ESL方法学中TLM2 子模块?本文简要总结一下开发一个子模块的TLM2的方法。通常情况下,一个复杂的设计包含几个层次,每个层次又包含许多子模块。而这些子模块的开发是TLM model的关键。1 SC_HAS_PROCESS的使用一般开发c++,类的定义和实现放在两个文件,这时就要用 SC_HAS_PROCESS,这是因为构造函数中,SC_THREAD,SC_METHOD, SC_CTHREAD需要关联类中的进程。https://learnsystemc.com/basic/sc_has
原创
发布博客 2020.09.29 ·
845 阅读 ·
1 点赞 ·
0 评论 ·
2 收藏

arm 嵌入式开发流程

1 设置环境变量包括gcc工具path,编译器,linker,汇编工具名字,linker选项等2处理boot code3 编译c代码生成目标文件4准备elf文件用编译器,linker生成最终可执行代码
原创
发布博客 2020.06.29 ·
730 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

nvdla study ---内存数据格式

理解nvdla设计,首先必须头脑中对数据格式及其内存存放形式有个清晰的认识。1 输入格式1)weightdata输入格式:weight for direct convolutionweight for image inputweight for Winograd convolution2)activation data输入格式:feature data formatpixel fo...
原创
发布博客 2020.03.27 ·
921 阅读 ·
1 点赞 ·
1 评论 ·
3 收藏

c++几个面向对象概念

面向对象是指:抽象,封装,继承和多态。1抽象:减少细节,提取共性。解决方案:抽象类,接口类,纯虚方法2封装:隐藏数据,类只提供方法,访问数据成员。3多态:静态多态—overloading,同一个类中,多个同名函数动态多态–overridding,子类与父类中,同名函数,必须是虚函数才能实现overriding。如果没有virtual关键字,当子类对象赋值给父类指针时,永远执行的是父...
原创
发布博客 2020.03.19 ·
261 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

c++and java

尽管都是面向对象编程语言,今天发现c++ 与java有个比较大的不同就是main函数的位置。c++中main函数是一个特殊函数,不属于任何类。但是java中,main函数是一个类内函数。...
原创
发布博客 2020.03.19 ·
113 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多