All Projects → SummerLife → Embeddedsystem

SummerLife / Embeddedsystem

Licence: mit
📚 嵌入式系统基础知识与主流编程语言相关内容总结

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Embeddedsystem

Algorithms
🍣 Implementations of fundamental algorithms and data structures. Happy Hacktoberfest!
Stars: ✭ 41 (-84.59%)
Mutual labels:  data-structures, jupyter-notebook
Algorithm Playground
An (old) and unstructured (messy tbh) collection of programming exercises.
Stars: ✭ 75 (-71.8%)
Mutual labels:  data-structures, jupyter-notebook
Ready For Tech Interview
💻 신입 개발자로서 준비를 하기 위해 지식을 정리하는 공간 👨‍💻
Stars: ✭ 1,035 (+289.1%)
Mutual labels:  data-structures, network
Tech Refrigerator
🍰 기술 냉장고입니다. 🛒 기술 면접 , 전공 시험 , 지식 함양 등 분명 도움될 거예요! 🤟
Stars: ✭ 699 (+162.78%)
Mutual labels:  data-structures, network
Cs offer
计算机学科基础知识和主流编程语言相关内容的总结
Stars: ✭ 2,016 (+657.89%)
Mutual labels:  data-structures, network
Coursera
Quiz & Assignment of Coursera
Stars: ✭ 774 (+190.98%)
Mutual labels:  data-structures, jupyter-notebook
Coursera Specializations
Solutions to assignments of Coursera Specializations - Deep learning, Machine learning, Algorithms & Data Structures, Image Processing and Python For Everybody
Stars: ✭ 72 (-72.93%)
Mutual labels:  data-structures, jupyter-notebook
Courses
Quiz & Assignment of Coursera
Stars: ✭ 454 (+70.68%)
Mutual labels:  data-structures, jupyter-notebook
Datagene
DataGene - Identify How Similar TS Datasets Are to One Another (by @firmai)
Stars: ✭ 156 (-41.35%)
Mutual labels:  data-structures, jupyter-notebook
Jupyter
Stars: ✭ 145 (-45.49%)
Mutual labels:  data-structures, jupyter-notebook
Fastcore
Python supercharged for the fastai library
Stars: ✭ 565 (+112.41%)
Mutual labels:  data-structures, jupyter-notebook
Program Blog
Practice, thinking and reading
Stars: ✭ 228 (-14.29%)
Mutual labels:  data-structures, network
Data Structures Using Python
This is my repository for Data Structures using Python
Stars: ✭ 546 (+105.26%)
Mutual labels:  data-structures, jupyter-notebook
Xinblog
前端基础。Vue框架。数据结构与算法。计算机网络。夯实基础。
Stars: ✭ 29 (-89.1%)
Mutual labels:  data-structures, network
Python intro
Jupyter notebooks in Russian. Introduction to Python, basic algorithms and data structures
Stars: ✭ 538 (+102.26%)
Mutual labels:  data-structures, jupyter-notebook
Coding Ninjas Data Structures And Algorithms In Python
Solved problems and assignments of DSA course taught by Coding Ninjas team
Stars: ✭ 70 (-73.68%)
Mutual labels:  data-structures, jupyter-notebook
Natural Language Processing With Tensorflow
Natural Language Processing with TensorFlow, published by Packt
Stars: ✭ 222 (-16.54%)
Mutual labels:  jupyter-notebook, cnn
Pytorch Sentiment Analysis
Tutorials on getting started with PyTorch and TorchText for sentiment analysis.
Stars: ✭ 3,209 (+1106.39%)
Mutual labels:  jupyter-notebook, cnn
19 udacity dsa
Data Structures & Algorithms Nanodegree Program from Udacity
Stars: ✭ 140 (-47.37%)
Mutual labels:  data-structures, jupyter-notebook
Technicalnote
Repository to store what we have studied. 📖 We want everyone to get a job through TechnicalNote.
Stars: ✭ 206 (-22.56%)
Mutual labels:  data-structures, network

EmbeddedSystem

总结嵌入式系统基础知识、编程语言、高效工具等内容。

主要内容

技术文档与学习记录:

嵌入式系统基础:

机器学习:

编程语言:

环境搭建及工具:

理论基础:

本仓库将会长期更新嵌入式领域相关的知识,一部分内容是作者的学习笔记和心得总结,一部分是日常工作中的常用技巧,还有通过各种方式收集的嵌入式知识。通过总结提炼所拥有的技能,不断地将新的工具增加到技能列表中。

如果觉得有用,可以点亮小星星,也可以和作者一起完善它。

说点什么

对于嵌入式软件工程师的定位最近我有了新的认知,嵌入式系统是一种比较复杂的计算机系统。

电子类专业的毕业生从机器级的层面开始学习,如单片机,微机原理,后来到语言层面,如 C 语言和 Python,然后学习数据结构和算法。这个路线看起来还不错,也适合来入门,但是这条路线里有很严重的问题,只是学习这些知识你会发现自己很难做到知其然而又知其所以然。

在嵌入式工作中遇到的问题往往是综合性的,也就是说仅仅从语言级别或者算法级别入手往往不能解决问题,有时候需要深入到机器级。那么问题来了,整个嵌入式系统到底分了哪些层级,或者说整个计算机系统有哪些层级?要对整个知识体系框架有所了解,知道自己的位置,你需要对计算机的组成原理有较为深入的了解。

在这里我推荐书籍是由 Randal E. Bryant and David R. O'Hallaron 所著的《深入理解计算机系统》第三版。相应可以找到的课程是 MOOC 平台上的由袁春风教授讲授的 《计算机系统基础》课程,帮助我们建立对整个计算机系统抽象层的认识,增强我们解决嵌入式问题中的综合能力。

computer_architecture

后记

经过几年的开发实践,接触并使用到了各种各样的 CPU ,也自己设计并实现了一个简单的 16位 CPU。我逐渐认识到更重要的知识不是某种 CPU 的使用方式,而是更基础的计算机体系架构(x86 ARM RISC-V)。只有对计算机体系架构有深入的理解,遇到新的计算硬件才能触类旁通,例如 GPU TPU 以及 NPU。

同样的,开发过程中用到了各种各样的编译语言,C C++ Python Java Javascript Go。如果现在要我说是否需要不断学习新的编程语言,答案是肯定的。但是最重要的东西却不是编程语言本身,而是语言的设计思想以及它的适用场景,更深一步的是编程语言的编译原理,这些东西是构建起一门新语言的知识根基。理解了编程语言背后的东西,学习并使用一门新的语言变得非常容易,学习一门新的编程语言也不再是一种负担。

虽然说更底层的知识是更加重要的,但是直接学习这些底层的知识也并不见得是最好的,因为太难也太枯燥。学习需要循序渐进,先通过应用知识入手是没问题的,但是要始终提醒自己,这只是通向更深入内容的起点而已。

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].